PDO没有抛出错误

时间:2014-03-24 18:19:28

标签: php mysql pdo

我有以下代码在数据库中插入新记录:

<?php

require('comune.php');
$nome = $_POST['nome'];
$username = $_POST['username'];
$segreto = $_POST['password'];
$password = md5($segreto);
$validity = $_POST['validity'];
$ruolo = $_POST['ruolo'];
$funzione = $_POST['funzione'];
list($giorno, $mese, $anno) = explode('/', $validity);
$validity = implode('-', array($anno, $mese, $giorno));

try {
    $sql = "INSERT into utenti "
            . "(nome,username,segreto,password,validity,ruolo,funzione) "
            . "VALUES ('$nome', '$username', '$segreto', '$password', '$validity', '$ruolo', '$funzione')";
    $s = $pdo->prepare($sql);
    $s->execute();
} catch (PDOException $e) {
    $message = "ko";
}
$message = "ok";
//echo $sql;
echo $message;
?>

我面临的问题是,即使查询返回错误,$ message也是&#34; ok&#34;。我究竟做错了什么??

1 个答案:

答案 0 :(得分:0)

将您的代码更改为

$sql = "INSERT into utenti (nome,username,segreto,password,validity,ruolo,funzione) "
        . "VALUES (?,?,?,?,?,?,?)";
$s = $pdo->prepare($sql);
$s->execute([$nome, $username, $segreto, $password, $validity, $ruolo, $funzione]);
echo "ok";

您将收到正确或提供信息的错误消息