我不确定在数据库上运行查询时是否应该使用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