使用PHP和PDO更新查询不起作用

时间:2014-06-09 19:07:16

标签: php mysql pdo

我在使用PDO发出UPDATE请求时遇到问题。

我的语法有问题,但我不知道在哪里..

这是我的代码:

<?php



$PARAM_hote='aaaaaaaa'; 

$PARAM_port='3306';

$PARAM_nom_bd='bbbbbbbbbbb'; 

$PARAM_utilisateur='cccccccccccccc'; 

$PARAM_mot_passe='ddddddddddd';

// Create connexion to BDD

$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);



try {



    $idAnnonce = $_POST['idAnnonce'];


    $sqlUpdate = "UPDATE `annonces` SET `etat` = `offline` WHERE `id` = :idAnnonce ";

    $resultats = $connexion->prepare($sqlUpdate);

    $resultats->bindValue(':idAnnonce', $idAnnonce, PDO::PARAM_INT);

    $resultats->execute();



    // Check if request is success
    echo $resultats->rowCount();



} catch(Exception $e) {

    echo 'Erreur : '.$e->getMessage().'<br />';

    echo 'N° : '.$e->getCode();

}



?> 

2 个答案:

答案 0 :(得分:0)

更改

$sqlUpdate = "UPDATE `annonces` SET `etat` = `offline`...

$sqlUpdate = "UPDATE `annonces` SET `etat` = 'offline'...

将引号置于“离线”状态,它应该可以正常工作。

答案 1 :(得分:0)

我最近评论了一个类似的..

将PDO的错误模式设置为:

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

只有这样您可以使用 try / catch 块捕获所有数据库错误,看看发生了什么......

请参阅doc:PDO::setAttribute