我在使用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();
}
?>
答案 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