我不確定在數據庫上運行查詢時是否應該使用mysql_result()
或mysql_query()
。在下面的情況下它有什麼不同嗎?mysql_query()和mysql_result()有什麼區別?
$usertable = 'tableName';
$colName = 'columnA';
$xlookup = 'columnB';
// Connect to Server
$con = mysql_connect($hostname, $username, $password);
// select db
mysql_select_db($dbname);
// run query
$result = mysql_query("SELECT $colName FROM $usertable where $xlookup = 5");
// pass results to webpage
$a = 51;
$x = array($a, $a, mysql_result($result));
echo json_encode($x);
此刻,不管我用這個與否並不有所作爲既不工作,但我以爲一個錯誤會停止運行的代碼。
我試圖使用下面的代碼來識別任何錯誤,但不知道它是否正確。
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die("<html><script language='JavaScript'>alert('Unable to run query'), $message</script></html>");
}
是的,該檢查是確定的。而且你經常會看到一個簡短的符號。像'$ result = mysql_query('....')或死('....'。mysql_error());' – GolezTrol 2011-05-28 21:23:54
所以如果$ result只是一個值(比如'10'),我可以嗎回報那個?或者我需要對$ result做些什麼?對不起,我還沒有看到區別。 – djq 2011-05-28 21:26:43
即使查詢只返回一個值,它仍會在資源對象中返回該值,並且仍然需要mysql_result或其他函數來獲取該值。就像你需要一個單獨的函數來連接數據庫一樣。沒有一個大的mysql_query_single_value函數可以讓你一步完成這些工作。雖然你可以自己寫(或者谷歌,有人可能已經寫過)。 – GolezTrol 2011-05-28 21:31:54