有可能:
您没有活动的数据库连接
查询结果不产生任何结果(即响应为 NULL)或
您的查询中有语法错误
我会使用 Toad (Windows) 或 Sequel Pro (Mac OS) 之类的程序或良好的终端来检查您的查询是否产生结果。
如果您使用sprintf()之类的东西从变量中组合查询,请确保您使用回显获得正确的字符串输出。
mysql_connect("localhost", "mysql_user", "mysql_password") 或
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
Check that the query string (SELECT id, name FROM mytable) works externally
例如。echo $query = sprintf("SELECT id, name FROM mytable WHERE id = %d",$var);
如果 echo $query 产生类似:
[GOOD]: SELECT id, name FROM mytable WHERE id = 5
别的
[BAD]: SELECT id, name FROM mytable WHERE id =
如果输出良好,那么其余的应该可以正常工作。当然,除非您无权访问数据库。
while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("ID: %s Name: %s", $row[0], $row[1]);
}