无法使用预准备语句保存到db中

时间:2015-02-03 16:01:38

标签: php mysql

我无法使用预准备语句保存在我的数据库中。我不知道这段代码的问题是什么:

$stmt3 = $this->db->prapare("INSERT INTO criminal(investigation, isFujitive, suspect_id) VALUES (?, ?, ?)");
$stmt3->bind_param('sii', $lastSeen[$i], $isFujitive[$i], $id);
if ($stmt3->execute()){
    echo "Working";
}

我已使用此代码检查db是否为空:

$db = $this->db;
if(empty($db)){
   $this->connect();
   $db = $this->db;
}

但是再次没有输出,无法保存在db。

2 个答案:

答案 0 :(得分:0)

你应该试试这个:

$stmt3 = $this->db->prepare("INSERT INTO criminal(investigation, isFujitive,    suspect_id) VALUES (?, ?, ?)");
if ($stmt3->execute(array($lastSeen[$i], $isFujitive[$i], $id)){
    echo "Working";
}

答案 1 :(得分:0)

任何一个都可以使用

$stmt3 = $this->db->prepare("INSERT INTO criminal(investigation, isFujitive, suspect_id) VALUES (?, ?, ?)");
$stmt3->bindParam(1, $lastSeen[$i]);
$stmt3->bindParam(2, $isFujitive[$i]);
$stmt3->bindParam(3, $id);
$stmt3->execute();

或者

$stmt3 = $this->db->prepare("INSERT INTO criminal(investigation, isFujitive, suspect_id) VALUES (:inv, :fuj, :sus)");
$stmt3->bindParam('inv', $lastSeen[$i]);
$stmt3->bindParam('fuj', $isFujitive[$i]);
$stmt3->bindParam('sus', $id);
$stmt3->execute();

或者

$stmt3 = $this->db->prepare("INSERT INTO criminal(investigation, isFujitive, suspect_id) VALUES (?, ?, ?)");
$stmt3->execute(array($lastSeen[$i], $isFujitive[$i], $id));

卢卡