2016-11-23 7 views
-2
<?php 

$db = new mysqli('localhost', 'root', '', 'cheapbook') or die('Error connecting to MySQL server.'); 
mysqli_set_charset($db, 'utf8'); 

if (!(is_null(isset($_REQUEST['SearchByBookTitle']) ? $_REQUEST['SearchByBookTitle'] : null))) { 

    $Title = $_REQUEST['SearchByBookTitle']; 


    $query = "SELECT A.ISBN,title,year,price,publisher,number 
    FROM Book A, Stocks B 
    WHERE title='%$Title%' and 
    A.ISBN=B.ISBN"; 

    mysqli_query($db, $query) or die('Error querying database.'); 
    $result = mysqli_query($db, $query); 
    $row = mysqli_fetch_array($result) 


    while ($row = mysqli_fetch_array($result)) { 
     echo $row['ISBN']; 
     echo $row['title']; 
     echo $row['year']; 
     echo $row['price']; 
     echo $row['publisher']; 
     echo $row['number']; 
    } 

} 
?> 

whileループでデータをフェッチできません。クエリは正常に動作しています。 whileループを使用して各行のすべての属性データを取得しようとしています。しかし、それは動作していません。助けをお待ちしています。前もって感謝します!PHPで複数の行を取得する

+2

なぜあなたは二回の結果を取得する必要がありますか? – Irvin

+0

なぜ 'mysqli_query()'を2回呼び出していますか?ループの外側でmysqli_fetch_row()を呼び出してループさせているのはなぜですか?いくつの結果が期待されますか?唯一のものであれば、ループの外側でmysqli_fetch_row()を呼び出すとその結果が消費されます。ループの結果はもうありません。 – Chris

+0

それは冗長だった..私はそれを削除させてください!それでもまだ違いはありません – Chandra

答えて

-2

変更この:それはデータ

while ($row = mysqli_fetch_array($result)) { 
    var_dump($row); 
    ...... 

私はこれが役に立てば幸いを返す場合

$result = mysqli_query($db, $query); 
if (!$result) { 
    die('Error querying database.'); 
} 

が次に検証

関連する問題