繁体   English   中英

MySQL约定?

[英]MySQL Conventions?

我刚刚将我的网站移动到新服务器(共享到VPS)

我期待错误,唯一令我困惑的错误就是这个SQL语句。

echo mysql_query("SELECT COUNT(*) FROM users_online_now")

没有回报! 如果我尝试mysql_num_rows ,它会返回

mysql_num_rows(): supplied argument is not a valid MySQL result resource..

如果我查询另一个表,例如:

echo mysql_query("SELECT COUNT(*) FROM users")

它工作正常。

我猜它与表的命名有关? 它在我以前的主机上工作正常,是否有一些我应该修改的设置?

更新:想通了。 服务器仍在通过DNS更改,而mySQL完全搞砸了。 DNS终于更新了!

尝试通过添加or die来找出你得到的错误:

mysql_query("SELECT COUNT(*) FROM `users_online_now`") or die(mysql_error());

还要确保已成功连接到mysql数据库,请参阅以下函数:

mysql_connect
mysql_select_db

注意:在名称中,您应该使用反引号字符(`)而不是单引号。

更新:

如果您的MySQL数据库中包含索引损坏的表,则可能会收到错误消息:

 Incorrect file format [table name]

这是可能的解决方案。

关于这个问题的更多主题:

http://forums.mysql.com/read.php?21,18436,18436

http://www.linuxquestions.org/questions/linux-software-2/mysql-crash-on-startup-incorrect-file-format-h​​ost-464422/

http://www.devcomments.com/SQL-Error-incorrect-file-format-to138833.htm

您需要将MySQL结果资源传递给mysql_num_rows如下所示:

$result = mysql_query("SELECT COUNT(*) FROM `users_online_now`");
echo mysql_num_rows($result);

如果需要引用表名,还应该使用` 但在这种情况下,表名称不需要引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM