Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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
如何进行PHP PDO插入_Php_Mysql_Pdo - Fatal编程技术网

如何进行PHP PDO插入

如何进行PHP PDO插入,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用PDO插入数据库 这是我的密码: $SQLinsert = $odb->prepare("INSERT INTO `sites` VALUES(NULL, :site, :username)"); $SQLinsert -> execute(array(':site' => $site, ':username' => $user)); 我添加了PDO错误报告,得到以下错误: Array ( [0] => 00000 [1] => [2] =&g

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

这是我的密码:

$SQLinsert = $odb->prepare("INSERT INTO `sites` VALUES(NULL, :site, :username)");
$SQLinsert -> execute(array(':site' => $site, ':username' => $user));
我添加了PDO错误报告,得到以下错误:

Array ( [0] => 00000 [1] => [2] => )

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

if ($SQLinsert -> execute(array(':site' => $site, ':username' => $user))) {
    // ok
} else {
    print_r($odb->errorInfo());
}
顺便说一下,我对SQL的猜测是,您的列比这三个列都多。如果是这种情况,请添加列名以使其正常工作:

INSERT INTO `sites` (col1, site, username) VALUES(NULL, :site, :username)

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

if ($SQLinsert -> execute(array(':site' => $site, ':username' => $user))) {
    // ok
} else {
    print_r($odb->errorInfo());
}
顺便说一下,我对SQL的猜测是,您的列比这三个列都多。如果是这种情况,请添加列名以使其正常工作:

INSERT INTO `sites` (col1, site, username) VALUES(NULL, :site, :username)

您可以将php try catch块与方法一起使用

或者您需要在数据库连接中执行以下操作

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

您可以将php try catch块与方法一起使用

或者您需要在数据库连接中执行以下操作

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

字段名不是必须的吗?否则:@MarcelKorpel:您可以在MySQL中省略字段名。它假定您按照表中定义的顺序传入所有字段。字段名不是必须的吗?否则:@MarcelKorpel:您可以在MySQL中省略字段名。它假定您按照表中定义的顺序传入所有字段。