Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有MAX()的PHP-SQL查询返回null_Sql_Max - Fatal编程技术网

带有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”。这是我快速绘制的一个模式。