geçerli bir mysql kaynak

4 Cevap php

Ben aşağıdaki kodu çalışıyorum:

<?php

    $link = mysql_connect('localhost', 'root', 'geheim');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    echo 'Connected successfully';



    $query = "SELECT * FROM Auctions";
    $result = mysql_query($query);

    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        foreach($row as $field=>$value)
        {
            echo "$field: {$value} <br />";
        }
    }
    mysql_close($link);

?>

Ve bu hatayı alıyorum:

Warning: mysql_fetch_array(): supplied argument is not a
    valid MySQL result resource in
    C:\Programme\EasyPHP 2.0b1\www\test.php on line 14

Ne eksik?

4 Cevap

MySQL sorgusu muhtemelen veritabanında herhangi satırları eşleşmiyor.

Başarı "kaynak" döner ve başarısızlık "sahte" mysql_query() dönüş değerini kontrol edin.

$query = "SELECT * FROM Auctions"; 
$result = mysql_query($query);

if ($result !== false) {
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
        foreach ($row as $field=>$value) { 
            echo $field . ':' . $value
        }
    }
} else {
    // query returned 0 rows
}

Diğerleri de önerisi olarak, sorgu herhangi mySQL hata dönerse mysql_error() aramak için kullanabileceğiniz

$ Sorgu = "Müzayede SELECT * FROM";

$ Result = mysql_query ($ sorgu) or die (mysql_error ());

böylece hata görürsünüz

Bir şey geri alıyorsanız? Hiçbir sonuç bulunursa, mysql_query FALSE döndürür.

Fetch_array çalıştırmadan önce kontrol edin.