Mysql PDO Sql查询不工作

Mysql PDO Sql查询不工作,mysql,pdo,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); $s

我使用以下代码在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绑定参数时,请记住它会自动为您适当地引用和转义。这意味着您需要从
VALUES
语句中删除引号,如下所示:

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