带有MAX()的PHP-SQL查询返回null
我正在尝试检索已插入数据库的记录。我通过使用带有MAX()的PHP-SQL查询返回null,sql,max,Sql,Max,我正在尝试检索已插入数据库的记录。我通过使用MAX(id)来实现这一点,但它总是返回null。我试着在phpmyadmin中运行查询,结果很好。我尝试过在网站上找到的其他方法,但都不管用。非常感谢您的帮助 我的代码: $pdo = Database::connect(); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO tblgroups (cid,
MAX(id)
来实现这一点,但它总是返回null
。我试着在phpmyadmin
中运行查询,结果很好。我尝试过在网站上找到的其他方法,但都不管用。非常感谢您的帮助
我的代码:
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO tblgroups (cid, name) values(?, ?)";
$q = $pdo->prepare($sql);
$q->execute(array("1", $name));
$sql = "SELECT MAX(gid) AS gid FROM tblgroups";
$q = $pdo->prepare($sql);
$data = $q->fetch(PDO::FETCH_ASSOC);
$gid = $data['gid'];
$sql = "INSERT INTO tblcategories (cid, gid, name, text_color, bg_color) values(?, ?, ?, ?, ?)";
$q = $pdo->prepare($sql);
$q->execute(array("1", $gid, $name, "#FF0000", "#FFFFFF"));
$sql = "INSERT INTO tblusers (username, password, gid) values(?, ?, ?)";
$q = $pdo->prepare($sql);
$q->execute(array($name, md5("password"), $gid));
$sql = "SELECT MAX(uid) AS uid FROM tblusers";
$q = $pdo->prepare($sql);
$data = $q->fetch(PDO::FETCH_ASSOC);
$uid = $data['uid'];
$sql = "INSERT INTO tbluser_groups (gid, uid) values(?, ?)";
$q = $pdo->prepare($sql);
$q->execute(array($gid, $uid));
您正在插入
cid
并获取gid
是否正确?您可以发布您的模式吗?确保您选择的列实际上是自动递增的。gid和uid都是自动递增的。cid指的是另一个表,它总是只有一个条目,所以cid总是“1”。这是我快速绘制的一个模式。