使用插入语句与PDO的正确方法

时间:2014-03-18 08:46:18

标签: php mysql sql pdo

我正在尝试使用以下代码在数据库中插入数据。 这是正确的做法吗? 我无法使用数据库中的以下语句添加数据。

try {

 # MySQL with PDO_MYSQL
  $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);

  /*** INSERT data ***/ 

    $task = $_POST['task'];
    $target_date = $_POST['target_date'];

    $sql = "INSERT INTO animals(task, target_date) VALUES (:task, :target_date)";
    $q=$DBH->prepare($sql);
    $q->execute(array(':task'=>$task,':target_date'=>$target_date));


    /*** close the database connection ***/
    $DBH = null;

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

1 个答案:

答案 0 :(得分:0)

由于您正在使用catch / echo-message块,因此应该在pdo实例上打开ERRMODE_EXCEPTION以查看出现了什么问题。

try{
  $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
  $DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  ...


}
catch(...)

请参阅http://docs.php.net/pdo.error-handling