如何进行PHP PDO插入

0 php mysql pdo

我正在尝试使用PDO插入数据库.

这是我的代码:

$SQLinsert = $odb->prepare("INSERT INTO `sites` VALUES(NULL, :site, :username)");
$SQLinsert -> execute(array(':site' => $site, ':username' => $user));
Run Code Online (Sandbox Code Playgroud)

我添加了PDO错误报告,我收到此错误:

Array ( [0] => 00000 [1] => [2] => )
Run Code Online (Sandbox Code Playgroud)

Bar*_*chs 5

当SQL出错时,PDO不会给出错误消息.您可以errorInfo用来获取SQL错误:

if ($SQLinsert -> execute(array(':site' => $site, ':username' => $user))) {
    // ok
} else {
    print_r($odb->errorInfo());
}
Run Code Online (Sandbox Code Playgroud)

我对你的SQL的猜测是你有比这三个更多的列.如果是这种情况,请添加列名以使其工作:

INSERT INTO `sites` (col1, site, username) VALUES(NULL, :site, :username)
Run Code Online (Sandbox Code Playgroud)