爲什麼不正常的的mysql_query或後做一個回聲?的mysql_query或(爲什麼沒有在這裏回聲?)
所以mysql_query or die ("error")
是合法的,但爲什麼mysql_query or echo ("error")
不是?
是否有任何其他可能性在不退出整個下面的代碼的情況下打印文本(或者填充變量)?
爲什麼不正常的的mysql_query或後做一個回聲?的mysql_query或(爲什麼沒有在這裏回聲?)
所以mysql_query or die ("error")
是合法的,但爲什麼mysql_query or echo ("error")
不是?
是否有任何其他可能性在不退出整個下面的代碼的情況下打印文本(或者填充變量)?
在or
內,您可以使用; die("error")
或print("error")
。如果你做了如下的事情會更好,因爲它可以讓你;
$obj = mysql_query("select * from table", $link);
if(mysql_error($link)) {
echo "Error";
//Log the error?
die;
}
請注意;
的mysql_擴展棄用爲PHP 5.5.0,並且不建議用於編寫新的代碼,因爲它會在將來被移除。相反,應使用mysqli或PDO_MySQL擴展名。請參閱MySQL API Overview以獲得進一步幫助,同時選擇MySQL API。
通常從MySQL錯誤記錄在取決於error.log中您的服務器如何設置而無需採取額外步驟。 YMMV – 2014-10-09 13:37:52
@JayBlanchard哪個error.log?我從來沒有見過/聽說過/經歷過這個。 YMMV的含義是什麼? :) – 2014-10-09 13:41:46
如果您在Linux機器上,請查看服務器的錯誤日誌。在許多Linux發行版中,路徑是/var/log/apache/error.log。 YMMV =='您的里程可能會有所不同' – 2014-10-09 13:44:36
簡單運行mysql_query,然後你可以訪問mysql_errno
或mysql_error
。 並用mysqli函數代替mysql_函數。
我知道你已經有很好的答案,但我做的事情是這樣的(除了我現在使用PDO,也應你):
function error_catcher($error) {
// Any code you want here, including echo, logging, emailing of error, and so on.
}
$sql=mysql_query("select * from table") or die(error_catcher(mysql_error()));
請注意:
該mysql_擴展棄用爲PHP 5.5.0,並且不建議用於編寫新的代碼,因爲它會在將來被移除。相反,應使用mysqli或PDO_MySQL擴展名。請參閱MySQL API Overview以獲得進一步幫助,同時選擇MySQL API。
1.不使用mysql,但使用mysqli或pdo 2.需要打印哪種文本?你不能在死前或死亡之前打印它? – trainoasis 2014-10-09 13:22:19
小心OR語句。請記住,你應該檢查,而如果查詢完成,而不是給它一個機會,不這樣做(也避免mysql_ *,因爲它是不建議使用) – briosheje 2014-10-09 13:23:28