gpt4 book ai didi

mysql - PDO Sql 查询不工作

转载 作者:行者123 更新时间:2023-11-29 00:01:42 28 4
gpt4 key购买 nike

我正在使用以下代码插入 MYSQL 表:

try{
$sql="INSERT INTO tblmtd(t_id,t_name,mem_id) VALUES(':t_id',':t_name',':mem_id')";
$stmt=db::con()->prepare($sql);
$stmt->bindParam(':t_id',$tid,PDO::PARAM_INT);
$stmt->bindParam(':t_name',$tNm,PDO::PARAM_STR);
$stmt->bindParam(':mem_id',$mId,PDO::PARAM_INT);
$stmt->execute();
}catch(PDOException $ex){
die("Error occured:".$ex->getMessage());
}

$tid variable has value=1;
$tNm variable has value='CBSE';
$mId variable has value=9

当这段代码运行时没有产生错误,但是在 MYSQL 表中我观察到字段值为 't_id'=0,'t_name'=t_name,'mem_id'=0。我只是不明白是什么我的代码有问题。但是,一件有趣的事情是,当我尝试使用下面提到的代码完成相同的任务时,正确的数据被插入到表中。代码是

$db= new Database();
$db->open();
$sql="INSERT INTO tblmtd(t_id,t_name,mem_id) VALUES('$tid','$tNm','$mId')";
$db->query($sql);

最佳答案

当使用 PDO 绑定(bind)参数时,请记住它会自动为您适本地引用和转义。这意味着您需要从 VALUES 语句中删除引号,如下所示:

$sql="INSERT INTO tblmtd(t_id,t_name,mem_id) VALUES(:t_id,:t_name,:mem_id)";

关于mysql - PDO Sql 查询不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29495446/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com