php - pdo 总是返回 false

标签 php mysql pdo

<?php
class Group {
    private $db, $last_id;

    public function __construct() {
        $this->db = Database::connect();
    }

    public function createGroup($admin_id, $name, $description, $type) {
        $sql = "INSERT INTO group SET admin_id = ?, name = ?, description = ?, type = ?";
        $query = $this->db->prepare($sql);
        $result = $query->execute(array($admin_id, $name, $description, $type));
        if ($result) {
            $this->last_id = $this->db->lastInsertId();
            return $this->last_id;
        }
        return "false";
    }

}

?>

这是我的 test.php :

<?php
error_reporting(E_ALL);
require "includes/database.php";
require "classes/C_Group.php";

$obj = new Group;
$result = $obj->createGroup(1, "groupName", "groupDescription", "groupType");
echo $result;
?>

表格截图:

enter image description here

它总是返回 false,我也尝试只将一个参数(名称)插入表中,但它再次返回 false。并且表中没有插入任何内容。

最佳答案

Reserved Words是 mysql 必须用反引号

 $sql = "INSERT INTO `group` SET admin_id = ?, name = ?, description = ?, type = ?";

关于php - pdo 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346728/

相关文章:

PHP + SQL 脚本 - 防止 SQL 注入(inject)

PHP/MySQL 选择并统计匹配记录

mysql - 尽管注释掉了安全文件 priv 部分,但仍出现“错误 1290 (HY000)”

Mysql - 从现有行创建示例数据

php - 安装 PHP PDO 的 zlib 目录

PHP、MySQL 和 PDO - 数据库缺少撇号的结果

javascript - 从服务器 json Angular 加载数据

php - 获取相同日期的两个表的记录

php - 尝试使用 PHP 创建动态生成的 mySQL select 语句

PHP PDO 如何运行多个查询请求?