简单MySQL查询出错

时间:2013-06-13 20:38:59

标签: php mysql phpmyadmin

我正在对我的数据库执行查询。我想获取表的主键的最大值。我在以下日志中得到一个空结果和错误:

“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为资源,对象为”

我做错了什么?

2 个答案:

答案 0 :(得分:1)

$row = mysql_fetch_object($res);

应该是:

$row = mysqli_fetch_object($res);

您正在尝试获取尚未设置的mysql对象

答案 1 :(得分:0)

前缀为mysql_的函数来自旧的ext/mysql扩展,它与改进的MySQLi扩展(其函数具有mysqli_前缀)完全独立(且不兼容)。你混合这两个,这是行不通的。