Я новичок в PHP/SQL и очень смущен.
В моей базе данных SQL у меня есть следующие значения для пользователя:
В моем PHP-скрипте повторение этих значений дает мне 0.
Запрос:
$query = "SELECT * FROM user WHERE email = '{$email}'";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_array($result);
Я указываю адрес электронной почты, связанный с указанным выше пользователем в базе данных. В результате я получаю желаемую строку (идентификатор пользователя 13 и эти значения). Тем не менее код попадает внутрь этого оператора if:
if (!empty($row['first_name']) && !empty($row['last_name']) &&
!empty($row['age']) && !empty($row['picture_path'])) {
echo "inside";
}
Повторение самих значений дало мне 0 вместо нуля. Зачем? И как я могу правильно проверить пустую/нуль?
Благодаря нагрузкам.
PHP empty('0')
возвращает true
; для проверки нулевого использования is_null($var)
.
Не интуитивно, но что это такое.
Вы можете просто назначить определенную строку, если определенное значение равно null, используя функцию COALESCE()
. Смотри ниже:
"SELECT
COALESCE(user_id,'null')user_id,
COALESCE(first_name,'null')first_name,
COALESCE(middle_name,'null')middle_name,
COALESCE(last_name,'null')last_name,
COALESCE(rs_status,'null')rs_status,
COALESCE(age,'null')age,
COALESCE(town,'null')town,
COALESCE(phone,'null')phone,
COALESCE(picture_path,'null')picture_path
FROM user
WHERE email = '{$email}'"
DBMS
вы используете?