2016-05-16 3 views
-1

У меня возникают проблемы с этой функцией. Я считаю, что это может быть так, как я написал свой запрос. И «id» и «$ number» являются целыми числами.Функция PHP не возвращает результаты запроса mysqli

Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно, или лучший способ написать это. Любая помощь будет очень признательна.

<?php 

$number = htmlspecialchars($_GET['id']); 



function getrecipeinfo($testing){ 

global $con; 



$sqldescription = "SELECT category, eliquidname, image, contentnicpg, contentnicvg, description FROM vapetable where id = '{$number}' ;"; 

$result = mysqli_query($con, $sqldescription); 

$row = $result->fetch_assoc(); 



    while($row = $result->fetch_assoc()){ 


     $eliquidtitle = $row['eliquidname']; 
     $category = $row["description"]; 
     print $eliquidtitle; 


      } 

} 

getrecipeinfo($testing); 

?> 
+5

Передача '$ number' не' $ testing' вашей функции –

+0

Возможно, вы хотите вызвать getrecipeinfo ($ number); вместо getrecipeinfo ($ testing); – Brett

+0

И ваша функция никогда ничего не возвращает. – Brett

ответ

2

Обычная, но простая ошибка состоит в том, чтобы включить ->fetch_assoc(); вызов до/за пределами while() цикла -

$row = $result->fetch_assoc(); 

while($row = $result->fetch_assoc()){ 

в вашем случае, поскольку вы только возвращение 1 строку из вашего запроса, что результат возвращается в 1-м $row = $result->fetch_assoc();, а затем внутренний указатель перемещается вперед.

Поэтому, когда вы добираетесь до while($row = $result->fetch_assoc()){, результатов больше не будет, как указано в документах ->Returns ... **NULL** if there are no more rows in resultset..

Если вы возвращали более 1 строки, вы обнаружили бы, что проблема будет заключаться в том, что она вернет все строки, за исключением 1-го.

+0

* hehe, * Я как раз собирался опубликовать вики сообщества и собирался нажать кнопку «Опубликовать свой ответ», которая была в то же самое время, когда вы разместили ее * lol *, поскольку я думал, что вы не собираетесь отправьте ответ. Хорошо, мы идем ;-) * Cheers * Шон. –

+0

На мгновение меня вызвали, так как мой 11-летний старик хочет устроить семейный ужин самостоятельно, поэтому я пропустил ваш последний комментарий о создании вики сообщества, пока после того, как я опубликовал его. * Приветствия * вам также @ Fred-ii-. – Sean

+0

Я принимаю все под контролем, тогда ;-) * Приветствия * и спасибо. * бутон аппетит! * –

Смежные вопросы