Pourquoi mon programme ne trouves pas la table dans la BDD ?
SuperRobot
Messages postés
30
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'ai un petit bout de programme qui permet de détecter si une table existes dans la BDD.
J'aimerais savoir pourquoi même quand une table existes, ce programme me dit que cette table n'existes pas.
Peut-être que c'est à cause des back quotes autour du "?" mais si je ne mets pas ces back quotes et que la table contient des caractères comme "-", ça ne marchera pas...
Cordialement.
J'aimerais savoir pourquoi même quand une table existes, ce programme me dit que cette table n'existes pas.
Peut-être que c'est à cause des back quotes autour du "?" mais si je ne mets pas ces back quotes et que la table contient des caractères comme "-", ça ne marchera pas...
$db = new PDO('mysql:host=localhost;dbname=files_v3', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
try
{
$test_req = $db->prepare('SELECT COUNT(ID) AS test_req FROM `files_v3`.`?`');
$test_req->execute(array($file_name));
echo 'yes';
}
catch(Exception $e)
{
if(strpos($e, 'PDOException: SQLSTATE[42S02]') === 0)
{
echo 'no';
}
echo $e;
}
Cordialement.
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, je ne pense pas que tu puisses ainsi faire varier le nom de la table dans une requête préparée.
moi j'essaierais$sql = "SELECT COUNT(*) FROM " . $file_name ; $reponse = $db->query($sql); if ($reponse) echo "la table existe"; else echo "oups";