Php 插入数据不工作?连接与数据库配合良好
我试图在数据库中保存名称one,但它不工作,echo总是返回not working。通过简单的选择,它可以工作,因此连接工作良好。但插页没有。你看到这段代码中有错误吗?最后一个id是20,所以我输入了21,但即使是null,结果也是一样的:Php 插入数据不工作?连接与数据库配合良好,php,database,postgresql,sql-insert,Php,Database,Postgresql,Sql Insert,我试图在数据库中保存名称one,但它不工作,echo总是返回not working。通过简单的选择,它可以工作,因此连接工作良好。但插页没有。你看到这段代码中有错误吗?最后一个id是20,所以我输入了21,但即使是null,结果也是一样的: <?php try { $name = $_GET['name']; try { $stmt = $dbh->prepare("INSERT INTO person (idperson, name, map) VA
<?php
try {
$name = $_GET['name'];
try {
$stmt = $dbh->prepare("INSERT INTO person (idperson, name, map) VALUES (21, :name, null)");
//$stmt->bindParam(':name', $name);
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
if ( $stmt->execute() ){
echo "worked!";
}
else {
echo "not working";
}
}
catch(Exception $ee){
echo 'Error : '.$ee->getMessage().'<br />';
echo 'N° : '.$ee->getCode();
}
}
catch(Exception $e)
{
echo 'Error : '.$e->getMessage().'<br />';
echo 'N° : '.$e->getCode();
}
?>
您必须在准备异常之前和之后开始尝试/捕获异常
$name = $_GET['name'];
try {
$stmt = $dbh->prepare("INSERT INTO person (idperson, name, map) VALUES (21, :name, null)");
$stmt->bindParam(':name', $name);
$stmt->execute();
}
catch(Exception $ee){
echo 'Error : '.$ee->getMessage().'<br />';
echo 'N° : '.$ee->getCode();
}
执行此操作并查看问题所在您是否100%确定您使用的用户在其配置文件中具有写入权限?请查看echo为空,这是语法错误,我认为在插入代码的其他情况下也是如此{echo不起作用;echo}Try$stmt->bindParam':name',$name,PDO::PARAM_STR;并删除else Loop中想要的回音谢谢你的评论,不,它仍然不起作用,我在上面编辑了我的帖子。我使用的是localhost,所以我不知道您所说的写权限是什么意思@Allendar?您总是使用用户e.a.root访问您的数据库。如果您正在使用的用户没有写入权限,则无法对INSERT/UPDATE/DELETE/等执行任何操作。您应该在错误消息中看到它。谢谢,但它不起作用。我在上面编辑了我的帖子。我看不出有什么问题…所以答案是索引21已经被获取,但它没有显示在数据库中,我必须重新启动软件并用print\r$dbh->errorInfo;检查错误。无论如何谢谢你的帮助
CREATE TABLE person
(
idperson integer NOT NULL,
name character varying(50),
map bytea,
CONSTRAINT person_pkey PRIMARY KEY (idperson)
)
$name = $_GET['name'];
try {
$stmt = $dbh->prepare("INSERT INTO person (idperson, name, map) VALUES (21, :name, null)");
$stmt->bindParam(':name', $name);
$stmt->execute();
}
catch(Exception $ee){
echo 'Error : '.$ee->getMessage().'<br />';
echo 'N° : '.$ee->getCode();
}