我正在我的数据库上执行一个查询。我想获取表的主键的最大值。我在我的日志中得到了一个空的结果和一个错误:
“警告: mysql_fetch_object():提供的参数不是有效的MySQL结果资源”
下面是我的代码:
$mysqli = new mysqli(MYSQL_HOSTNAME, 'xxx', 'xxx', MYSQL_DATABASE);
if (mysqli_connect_errno())
exit();
$sql = "SELECT MAX(id) FROM `Invoice`";
//$sql = "SELECT id FROM `invoice`";
$res = mysqli_query($mysqli, $sql);
var_dump(get_object_vars($res));
if ($res) {
$row = mysql_fetch_object($res);
var_dump($row);
//echo $row->MAX(id);
} else {
printf("Could not retrieve records: %s\n", mysqli_error($mysqli));
}
mysqli_close($mysqli);当我执行var_dump时,我得到的是空值。这是我到目前为止尝试过的方法:(1)。我直接在phpmyadmin中执行了SQL查询。我得到一个列标题为'Max(id)‘(2)的结果。我尝试过使用mysql_fetch_array()。我得到一个日志错误:
“警告: mysql_fetch_array()要求参数%1为资源,给定对象”
我做错了什么?
发布于 2013-06-14 04:41:16
以mysql_为前缀的函数来自旧的ext/mysql扩展,该扩展与改进的MySQLi扩展(其函数具有mysqli_前缀)完全分开(并且不兼容)。您将两者混合在一起,这是行不通的。
发布于 2013-06-14 04:42:13
$row = mysql_fetch_object($res);
应该是:
$row = mysqli_fetch_object($res);
您正在尝试获取尚未设置的mysql对象
https://stackoverflow.com/questions/17096622
复制相似问题