Voici un SQL non valide et je m'attends à une erreur, mais l'erreur PDO semble toujours 00000, qu'est-ce que j'ai fait de mal?L'exécution d'une mauvaise requête PDO ne génère pas d'erreur
<?php
run('select now()');
run('pls give me an error');
function run($sql) {
$pdo = new PDO('mysql:host=localhost;db=mydb', $user, $pass);
echo $sql . "<br>";
$sth = $pdo->prepare($sql);
$sth->execute();
$row = $sth->fetch(PDO::FETCH_ASSOC);
print_r($row);
print_r($pdo->errorInfo());
}
Et voici le résultat:
select now()
Array
(
[now()] => 2017-10-03 02:58:09
)
Array
(
[0] => 00000
[1] =>
[2] =>
)
pls give me an error
Array
(
[0] => 00000
[1] =>
[2] =>
)
Mais j'ai une autre course page contre le même db et obtenir cette erreur:
Err 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'please give me an error' at line 1
mis à jour
Le autre page est capable de produire une erreur utilise réellement le f uite:
$sth = $pdo->query($sql);
print_r($pdo->errorInfo());
d'erreur bien, si cela selon votre façon: s'il y a erreur sur prepare(), je dois attraper erreur sur execute() - Je n'ai jamais eu cette situation auparavant, et imagin im en cours d'exécution de 2 pages sur la même DB, j'imagine que les paramètres de DB sont tous les mêmes DEFAULT. pourquoi une page toujours pas d'erreur? – SIDU
@SIDU Je ne suis pas sûr de suivre votre question. C'est une configuration PDO, pas celle de la base de données. – zerkms
Merci zerkms! Il suffit de se demander si un paramètre PDO par défaut a été modifié la semaine dernière? – SIDU