#php #mysql #exists
#php #mysql #существует
Вопрос:
Я пытаюсь определить, что статус записи равен 0 или 1.
Я хотел бы использовать этот код, приведенный ниже, чтобы определить, находится ли конкретный элемент в этом случае barcode='D189404954'
на складе или нет, если да, то другие элементы ничего не делают.
Но когда я запускаю приведенный ниже код, он продолжает говорить, что статус равен 1, даже когда он равен 0.
<?php
$link = mysqli_connect("localhost", "root", "", "watermeter");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$query = "SELECT statuswm
FROM users
WHERE barcode='D189404954'";
$result = mysqli_query($link, $query);
$row = $result->fetch_array(MYSQLI_NUM);
// See Value for test
//var_dump($row[0]);
if ($row[0] == 1) {
echo $row[0];
} else {
echo "not in stock";
}
// Close connection
mysqli_close($link);
?>
Ответ №1:
Ваш результирующий код неверен. ==
является оператором сравнения, тогда как =
является оператором присваивания.
if ($result = 1) {
}
должно быть:
if ($result == 1) {
}
Комментарии:
1. затем я получаю следующие ошибки: Обратите внимание: Объект класса mysqli_result не удалось преобразовать в int в C:xampphtdocswatermeterstest.php в строке 19 исправляемая неустранимая ошибка: объект класса mysqli_result не удалось преобразовать в строку в C:xampphtdocswatermeterstest.php в строке 22
2. Добавьте
$row = $result->fetch_array(MYSQLI_NUM);
перед инструкцией if, затем измените инструкцию if наif ($row[0] == 1) { echo $resu< } else { echo "not in stock}
3. Ошибки исчезли, я изменил статус на 1, но продолжаю говорить, что его нет в наличии., спасибо за помощь, Ральф
4. Не могли бы вы немного пояснить свой запрос? Если вы ищете статус пользователя, где штрих-код равен,
D189404954
почему бы вам просто не сделатьSELECT status FROM users WHERE barcode='D189404954'
также, можете ли вы var_dump $row[0] перед вашим оператором if, чтобы мы могли видеть, какое значение он получает.5. Я получаю следующую ошибку: Ошибка синтаксического анализа, неожиданный ‘$ row’ (T_VARIABLE) в C:xampphtdocswatermeterstest.php в строке 17, var_dump $ row [0]?, Запрос на получение полного кода, который я опубликовал, изменил способ, которым, по вашему мнению, это должно работать, спасибо за ваше время, Ральф, но мы добираемся туда, лол