PHP. MySQL. Cравнение

331
24 мая 2017, 08:44

Не работает код

if ($enter_login == mysqli_query($mysql_connect_link, "SELECT login FROM EMPLOYEE WHERE ID='$enter_id' "))

При таком коде

$m = mysqli_query($mysql_connect_link, "SELECT login FROM EMPLOYEE WHERE ID='$enter_id' ");
echo $m;

Выдает ошибку

Catchable fatal error: Object of class mysqli_result could not be converted to string in /var/www/test.site/public_html/example.php on line 8

а код

print_r($m);

выдает

mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 1 [type] => 0 )

Ну с этого понятно, что запрос выдает не то что в ячейке login

Как его изменить чтобы if работал.

Скажу так нужно чтобы запрос мне выдал то, что написано в ячейке.

Answer 1

Так как ID у меня PRIMARY KEY то результат команды

SELECT login
FROM EMPLOYEE
WHERE ID = $enter_id;

будет одна ячейка. Для того чтобы изъять строку из этой ячейки можно воспользоваться функцией

mysqli_fetch_row(mysqli_query(mysqli_connect(...), ...));

т.е. для моего if код будет иметь вид

$array_enter_login = mysqli_fetch_row(mysqli_query($mysql_connect_link, "SELECT login FROM EMPLOYEE WHERE ID='$enter_id' "));
if ($enter_login == $array_enter_login[0])
{
   echo "Yes!";
}
READ ALSO
SSH не видит команду

SSH не видит команду

Всем приветПервый раз тут, потому что столкнулся действительно со сложной проблемой

648
Ошибка при отправке почты в Yii2

Ошибка при отправке почты в Yii2

Здравствуйте, возникла проблема с отправкой почты с сайта (обратная связь)

290
Функция mail() письмо не прилетает

Функция mail() письмо не прилетает

Функция mail() возвращает значение тру и происходит переадресацияНо письма на почте нету

243