警告:mysql_fetch_object():提供的参数不是有效的MySQL结果资源

时间:2010-10-13 11:26:48

标签: php mysql html

见鬼 当我尝试连接从数据库中拉出东西时,我收到以下错误:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/content/49/5548763/html/matt/download.php on line 17

此网站上的其他答案均无效。

这是脚本:

<?php

$con = mysql_connect("XXXX", "name", "password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("nameofdb",$con);

$musictable = "";

$sql = "GET * FROM matt";

$result = mysql_query($sql,$con);

while($row = mysql_fetch_object($result)) {

$id = $row->id;

$name = $row->name;

$update = $row->update;

$length = $row->length;

$size = $row->size;

$musictable .= "
  <tr>
    <td width=\"63%\">".$name."</td>
    <td width=\"10%\">".$length." / ".$size."</td>
    <td width=\"10%\"><a href=\"download.php?mp3=".$name."\">DOWLOAD</a></td>
    <td width=\"17%\">|||||</td>
  </tr>
  ";
}

?>

4 个答案:

答案 0 :(得分:8)

那是因为您的查询错误。

$sql = "GET * FROM matt";

必须成为

$sql = "SELECT * FROM matt";

关于这一点的警告的基本措施是

if (!$result)
 die("mySQL error: ". mysql_error());  
发出查询后

答案 1 :(得分:0)

也许尝试使用'SELECT'代替'GET'?

答案 2 :(得分:0)

$sql = "GET * FROM matt";

错了。正确的SQL语法是

$sql = "SELECT * FROM matt";

该错误传递到

$result = mysql_query($sql,$con);

然后无效,无法在while($row = mysql_fetch_object($result))中使用。

您应该在mysql_error()之后检查mysql_query()以抓住这些内容。

答案 3 :(得分:0)

想要使用SELECT *

您也可以使用

mysql_query($sql, $con) or die("Error in $sql:" . mysql_error($con));

如果你不想使用die(),那么你可以使用echo来查看错误是什么,并至少帮助调试应用程序。