недействительный ресурс mysql

Я пробую следующий код:

<?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); ?> 

И получите эту ошибку:

 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 

Что мне не хватает?

Вы не выбрали базу данных – используйте mysql_select_db()

Это было бы примерно так:

 <?php $link = mysql_connect('localhost', 'root', 'geheim'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; $db_selected = mysql_select_db('foo', $link); if (!$db_selected) { die ('Error selecting database: '. mysql_error()); } echo 'Using database 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); ?> 

Возможно, ваш запрос MySQL не соответствует строкам в базе данных.

Проверьте возвращаемое значение mysql_query () , которое возвращает «ресурс» на успех и «ложь» при ошибке .

 $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 } 

Как и другие предложения, вы можете использовать mysql_error (), чтобы посмотреть, возвращает ли запрос любые ошибки mySQL

$ query = "SELECT * FROM Auctions";

$ result = mysql_query ($ query) или die (mysql_error ());

так что вы увидите ошибку

Вы получаете что-то возвращенное? Если результаты не найдены, mysql_query возвращает FALSE.

Проверьте это перед запуском fetch_array.