2008-10-04 4 views
1

Можно создать дубликат:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resultПредупреждение при использовании mysql_fetch_assoc в PHP

Когда я запускаю мою страницу PHP, я получаю эту ошибку и не знаю, что случилось, может кто-нибудь помочь? Если кому-то нужна дополнительная информация, я отправлю весь код.

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in 
H:\Program Files\EasyPHP 2.0b1\www\test\info.php on line 16
<?PHP 

    $user_name = "root"; 
    $password = ""; 
    $database = "addressbook"; 
    $server = "127.0.0.1"; 

$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 

if ($db_found) { 

    $SQL = "SELECT * FROM tb_address_book"; 
    $result = mysql_query($SQL); 

    while ($db_field = mysql_fetch_assoc($result)) { 
     print $db_field['ID'] . "<BR>"; 
     print $db_field['First_Name'] . "<BR>"; 
     print $db_field['Surname'] . "<BR>"; 
     print $db_field['Address'] . "<BR>"; 
    }  

    mysql_close($db_handle); 

} 
else { 
    print "Database NOT Found "; 
    mysql_close($db_handle); 
} 

?> 
+0

Весь код, скорее всего, будет использоваться. – Dre 2008-10-04 01:45:36

ответ

0
<?PHP 

    $user_name = "root"; 
    $password = ""; 
    $database = "addressbook"; 
    $server = "127.0.0.1"; 

$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 

if ($db_found) { 

    $SQL = "SELECT * FROM tb_address_book"; 
    $result = mysql_query($SQL); 

    while ($db_field = mysql_fetch_assoc($result)) { 
     print $db_field['ID'] . "<BR>"; 
     print $db_field['First_Name'] . "<BR>"; 
     print $db_field['Surname'] . "<BR>"; 
     print $db_field['Address'] . "<BR>"; 
    }  

    mysql_close($db_handle); 

} 
else { 
    print "Database NOT Found "; 
    mysql_close($db_handle); 
} 

?> 
11

Это обычно означает, что у Вас есть ошибка в вашем SQL.

$sql = "SELECT * FROM myTable"; // table name only do not add tb 
$result = mysql_query($sql); 
var_dump($result); // bool(false) 

Очевидно, что false не ресурс MySQL, следовательно, вы получите эту ошибку.

EDIT с кодом наклеена прямо сейчас:

На линии до вашего while цикла, добавьте это:

if (!$result) { 
    echo "Error. " . mysql_error(); 
} else { 
    while (...) { 
     ... 
    } 
} 

Убедитесь, что tb_address_book таблица на самом деле существует, и что вы подключены к БД должным образом.

+0

Хорошо, я узнал об ошибке, и спасибо за помощь вашим ребятам – 2008-10-04 02:01:51

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