#php #mysql #sql
#php #mysql #sql
Вопрос:
Что не так с этим запросом? Например $brand
, содержит значение apple
, после чего я получаю сообщение об ошибке unknown column 'apple'
Кто-нибудь может увидеть проблему?
if(isset($_GET['brand']) ? $_GET['brand'] : 0) {
$brand = (isset($_GET['brand']) ? $_GET['brand'] : 0);
$sql = mysqli_query($link, "SELECT COUNT(id) FROM products WHERE brand = $brand AND
status = 1 ORDER BY id DESC")
OR die(mysqli_error($link));
Редактировать:
С проверкой ошибок
error_reporting(E_ALL); ini_set('display_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Я получаю эту ошибку
‘Неустранимая ошибка: неперехваченное исключение ‘mysqli_sql_exception’ с сообщением ‘Неизвестный столбец ‘apple’ в ‘where предложение»‘
Комментарии:
1. сделайте
WHERE brand = '$brand'
илиWHERE brand = '".$brand."'
и убедитесь, что у вас есть колонка под названием «бренд».2. Вы уязвимы для атак с использованием SQL-инъекций , и вам также необходимо изучить базовый синтаксис SQL.
3. я все еще получаю сообщение об ошибке
4. «‘.бренд в размере $. ‘» Использовать конкатенацию
5. Что ж, тогда у вас нет колонки с названием «apple» (или бренд), не так ли? Убедитесь, что у вас также нет пробела в имени столбца.
Ответ №1:
Попробуйте это:
if(isset($_GET['brand']))
{
$brand = $_GET['brand'];
$sql = mysqli_query($link, "SELECT COUNT(id) FROM products WHERE brand = {$brand} AND
status = 1 ORDER BY id DESC")
OR die(mysqli_error($link));
}
Комментарии:
1. Все то же самое. Я отредактировал свой вопрос с некоторыми сообщениями об ошибках, если это что-то прояснит………….