我正在尝试以下代码:
<?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
我错过了什么?
答案 0 :(得分:9)
您尚未选择数据库 - 请使用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);
?>
答案 1 :(得分:2)
您的MySQL查询可能与数据库中的任何行都不匹配。
检查mysql_query()的返回值,该值在成功时返回“resource”,在失败时返回“false”。
$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错误
答案 2 :(得分:1)
$ query =“SELECT * FROM Auctions”;
$ result = mysql_query($ query)或die(mysql_error());
所以你会看到错误
答案 3 :(得分:0)
你收到了什么东西吗?如果没有找到结果,则mysql_query返回FALSE。
在运行fetch_array之前检查一下。