PDA

Просмотр полной версии : Нужна помощь с запросом MySQLi


Frapsy
02.05.2018, 08:42
В общем делаю get запрос дабы вытащить через скрипт из бд нужную инфу, а в итоге ловлю фигу в виде:

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given

и пустоту следом.. То есть жалоба идет на цикл.

Собственно кусок проблемного кода:

Код:






if (!empty($srv) & !empty($n)) {
$result = $conn->query("SELECT * FROM info WHERE srv = $srv AND n = $n");
while($user = mysqli_fetch_assoc($result)) {
echo $user['id']." | ".$user['srv']." | ".$user['n']." | ".$user['arm']." | ".$user['vc']." | ".$user['nc']." | ".$user['ng']." | ".$user['rb']." | ".$user['ud']."

";

$result->close();
}
} else {
echo "Не заполены данные для вывода информации.
";
echo "SRV = ".$srv."
";
echo "N = ".$n;
}




К бд подключен, все указано верно, соединение в конце скрипта закрываю $conn->close();, только белая страница и этот варнинг.. А нужно чтобы доставал данные из базы по двум параметрам srv и n, да не хочет.. Кто поможет - большое спасибо :)

#Rin
02.05.2018, 08:56
$user = mysqli_fetch_assoc($result)


Ей на вход подаётся значение типа boolean, а так нельзя.



$result = $conn->query("SELECT * FROM info WHERE srv = $srv AND n = $n");


Запрос возвращает ошибку.

Пробуй так:

PHP:






$result
=
$conn
-
>
query
(
"SELECT * FROM `info` WHERE `srv` ='"
.
$srv
.
"' AND `n` ='"
.
$n
.
"'"
)
;

Frapsy
02.05.2018, 09:14
Ей на вход подаётся значение типа boolean, а так нельзя.

Запрос возвращает ошибку.

Пробуй так:

PHP:






$result
=
$conn
-
>
query
(
"SELECT * FROM `info` WHERE `srv` ='"
.
$srv
.
"' AND `n` ='"
.
$n
.
"'"
)
;





То есть, выходит, я через 5 место расставлял символы, когда делал это сам :D В общем запрос сработал, выдает теперь иной варнинг:

Warning: mysqli_fetch_assoc(): Couldn't fetch mysqli_result, но как я понял, он уже не столь критичен(скрыть ошибки и глаза не мозолят), раз уж данные выводит :D Спасибо и на этом :)

UPD: Второй косяк исправил переносом закрытия запроса(или как это называется :DD). Спасибо за помощь еще раз :)