簡體   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