我正在对我的数据库执行查询。我想获取表的主键的最大值。我在以下日志中得到一个空结果和错误:
“PHP警告: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时,我得到NULL值。这是我到目前为止所尝试的:(1)。我已经在phpmyadmin中直接执行了SQL查询。我得到一个列标题为'Max(id)'的结果 (2)。我尝试过使用mysql_fetch_array()。我收到了一个日志错误:
“PHP警告:mysql_fetch_array()期望参数1为资源,对象为”
我做错了什么?
答案 0 :(得分:1)
$row = mysql_fetch_object($res);
应该是:
$row = mysqli_fetch_object($res);
您正在尝试获取尚未设置的mysql对象
答案 1 :(得分:0)
前缀为mysql_
的函数来自旧的ext/mysql
扩展,它与改进的MySQLi扩展(其函数具有mysqli_
前缀)完全独立(且不兼容)。你混合这两个,这是行不通的。