我不确定在数据库上运行查询时是否应该使用mysql_result()
或mysql_query()
。它在下面的情况下会有所不同吗?
$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>");
}
答案 0 :(得分:4)
mysql_query执行查询并返回结果集。
mysql_result返回该结果集中的行供您使用。
查看一些示例here。
mysql_result具有能够返回特定字段的区别,但正如其他提到的海报要慢于其他提取功能。
答案 1 :(得分:2)
mysql_query和mysql_result是完全不同的两个完全不同的函数。
mysql_query将SQL查询发送到数据库。
mysql_result根据查询结果的行(以及可选的列号,默认为零)从查询结果中获取值。
如果您要为每一行使用多个数据,那么您应该使用mysql_fetch_row。
答案 2 :(得分:2)
它们是不同的功能。 mysql_query执行查询(字符串)并返回可用于从中检索信息的资源对象。 mysql_result是一个帮助函数,允许您从资源中获取该数据。所以你需要两者。
或者实际上你没有。一旦你使用了mysql_query,你就可以使用其他函数,比如mysql_fetch_row来检索数据。大多数这些函数比mysql_result表现更好,效率更高。