2016-11-23 2 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. Однако он не работает. Цените любую помощь. Заранее спасибо!Получение нескольких строк из mysql в php

+2

Зачем вам нужно, чтобы получить результат в два раза? – Irvin

+0

Почему вы дважды вызываете 'mysqli_query()'? Почему вы вызываете 'mysqli_fetch_row()' один раз за пределами вашего цикла, а затем зацикливаетесь на нем? Сколько результатов вы ожидаете? Если это только один, вызов 'mysqli_fetch_row()' вне цикла использует этот результат; дальнейших результатов для вашего цикла нет. – Chris

+0

Это было избыточно. Позвольте мне удалить его! но все равно это не имеет значения. – Chandra

ответ

-2

Изменить это:

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

Затем проверьте, если он возвращает данные

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

Я надеюсь, что это помогает

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