![](/img/trans.png)
[英]PHP MYSQL PDO -> Fatal Error 23000 eventhough a special procedure is in place
[英]inserting data error code 23000 mysql pdo php
我的数据库中有一张表
我正在尝试在其中插入一些数据
但我不断收到 pdo 错误代码 23000
我手动尝试了查询并且它有效,因此问题与查询无关
我的代码:
<?
include ('config.php');
$text=$_POST['text'];
if (!isset ($text)) exit();
$query=$db->prepare("INSERT INTO posts (post,userid,votes) VALUES (?,?,0)");
$query->bindValue(1,$text,PDO::PARAM_STR);
$query->bindValue(2,$id,PDO::PARAM_INT);
$re=$query->execute();
if ($re)
echo 'Added';
else die($query->errorcode()." ".$query->errorinfo());
?>
和配置看起来像
<?
session_start();
try{
$db=new PDO ('mysql:host=localhost;dbname=test;charset=utf8','root','');
}
catch (PDOException $error) {
echo $error->getmessage();
}
$id=$_SESSION['id'];
$username=$_SESSION['username'];
$password=$_SESSION['password'];
?>
你检查过 MySQL 文档吗?
http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html#error_er_dup_key
看起来你在数据库中有一个重复的键。 我猜的用户名。
如果您对 userid 有自动增量,则无需在创建时传递它。
看看你的代码吧:
因此,如果您多次运行脚本,则会出现 23000 错误。
是的,userid 是如何进入会话的?
1062 错误代码表示“重复输入”
我建议有 23000 错误代码的人尝试:
print_r($dbObject->errorInfo()) ;
您最有可能自己找到问题,因为有错误描述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.