2008-10-04 8 views
1

Possible en double:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL resultAvertissement lors de l'utilisation mysql_fetch_assoc en PHP

Quand je lance ma page php, je reçois cette erreur et je ne sais pas ce qui ne va pas, quelqu'un peut-il aider? Si quelqu'un a besoin de plus d'informations, je posterai tout le code.

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

L'ensemble du code serait probablement usefil. – Dre

Répondre

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

Cela signifie généralement que vous avez une erreur dans votre SQL.

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

De toute évidence, false n'est pas une ressource MySQL, d'où vous obtenez cette erreur.

EDIT avec le code collé maintenant:

Sur la ligne avant votre boucle while, ajoutez ceci:

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

Assurez-vous que la table tb_address_book existe et que vous avez connecté à la base de données correctement.

+0

Ok, j'ai découvert l'erreur était, et merci pour votre aide les gars –

+0

Anonyme: ce serait bien si vous postez votre réponse. – cori

Questions connexes