Я пробую следующий код:
<?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_query возвращает FALSE.
Проверьте это перед запуском fetch_array.
Если результатов не найдено, он все равно возвращает ресурс, но в нем нет результатов. mysql_query() возвращает false только в случае ошибки.
$ query = "ВЫБРАТЬ * ИЗ Аукциона";
$ result = mysql_query ($ query) или умереть (mysql_error ());
так что вы увидите ошибку
Возможно, ваш запрос 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.
mysql_query возвращает false только при фактической ошибке. Пустой набор результатов не является ошибкой.
Вы не выбрали базу данных - используйте 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_fetch_ * ожидает, что параметр 1 будет ресурсом, логическое значение данной ошибки