PDO只插入一条记录

时间:2014-01-21 18:35:12

标签: php mysql pdo

我一直试图克服这个问题一段时间,我需要你的帮助。

下面的代码只在mysql表中插入一条记录,只有一条记录。来自html表单的数据发布得非常好,但很简单,不会记录多次。我也使用phpmyadmin,我不知道是什么问题。如果你可以帮助我的话,我会感激不尽。

这是代码:         

   try {

    $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); 
    $STH1 = $DBH->query("SELECT isim, adet, kategori 
                             FROM stock 
                             WHERE isim = '$isim' AND kategori = '$kategori'");
    $STH1->setFetchMode(PDO::FETCH_ASSOC);
    if($STH1->rowCount() == 0) {
        echo "There is no such record";
    }
    else {

        $STH2 = $DBH->prepare("INSERT INTO outgoing 
                                       (isim, adet, nereye, cikis_tarih, kategori) 
                                       values 
                                       (:isim, :adet, :nereye, :cikis_tarih, :kategori)");
        $STH2->bindParam(':isim', $isim, PDO::PARAM_STR);
        $STH2->bindParam(':adet', $adet, PDO::PARAM_STR);
        $STH2->bindParam(':nereye', $nereye, PDO::PARAM_STR);
        $STH2->bindParam(':cikis_tarih', $cikis_tarih, PDO::PARAM_STR);
        $STH2->bindParam(':kategori', $kategori, PDO::PARAM_STR);
        $STH2->execute();

    }    

}

catch(PDOException $e) {
    echo $e->getMessage();
}


?>

1 个答案:

答案 0 :(得分:2)

而不是:

$STH2->bindParam(':isim', $isim, PDO::PARAM_STR);
$STH2->bindParam(':adet', $adet, PDO::PARAM_STR);
$STH2->bindParam(':nereye', $nereye, PDO::PARAM_STR);
$STH2->bindParam(':cikis_tarih', $cikis_tarih, PDO::PARAM_STR);
$STH2->bindParam(':kategori', $kategori, PDO::PARAM_STR);
$STH2->execute();

通过数组执行:

$STH2->execute(array(':isim'=>$isim,
                                ':adet'=>$adet,
                                ':nereye'=>$nereye,
                                ':cikis_tarih'=>$cikis_tarih,
                                ':kategori'=>$kategori));