2016-05-16 8 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

あなたの関数に '$ test'ではなく' $ number'を渡します。 –

+0

あなたはおそらくgetrecipeinfo($ number)を呼び出したいと思うでしょう。 getrecipeinfo($ testing)の代わりに。 – Brett

+0

あなたの関数は決して実際には何も返しません。 – Brett

答えて

0

あなたは$数(getrecipeinfo($番号);)を渡す必要があり、私はPHPのためのMysqliクラスを持っている私は私のリポジトリを共有https://github.com/dev-lusaja/ezMysql

2

共通、しかし、単純なミスは前->fetch_assoc();呼び出しを含めることです/あなたのwhile()ループの外で - あなたのケースで

$row = $result->fetch_assoc(); 

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

、あなただけのクエリから1行を返すされているので、その結果は、第一$row = $result->fetch_assoc();に返され、その後、内部ポインタを前方に移動させます。

したがって、while($row = $result->fetch_assoc()){になると、ドキュメントによると返される結果はもうありません - >Returns ... **NULL** if there are no more rows in resultset.

1行以上を返すと、1行目以外のすべての行が返されるという問題が発生します。

+0

* hehe、*私はちょうどコミュニティWikiを投稿しようとしていましたが、あなたが投稿したのと同時に "あなたの回答を投稿する"ボタンを押すつもりでした。回答を投稿する。まあそこに行く;-) *乾杯*ショーン。 –

+0

11歳のお年寄りが家族で食事をしたいので、私はすぐに電話をしてしまったので、投稿してからコミュニティウィキを作成するまでの最後のコメントは見逃してしまいました。 *あなたへの乾杯* @ Fred-ii-。 – Sean

+0

私はすべてそれを支配している;-) *乾杯*と感謝。 * buon appetito!* –

関連する問題