PDO Sql查询无法正常工作

时间:2015-04-07 15:35:35

标签: mysql pdo

我使用以下代码插入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,&#39 ; mem_id' = 0.我只是不明白我的代码有什么问题。但是,有趣的是,当我尝试使用下面提到的代码完成相同的任务时,将适当的数据插入到table.The code是

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

1 个答案:

答案 0 :(得分:1)

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

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