Essaye
après ton $dbh->query("...");Code:print_r($sth->errorInfo());
normalement il doit te retourner l'erreur qui est produite.
Version imprimable
Essaye
après ton $dbh->query("...");Code:print_r($sth->errorInfo());
normalement il doit te retourner l'erreur qui est produite.
Ca marche pas!!! :(
Je vais encore chercher
Merci de ton aide
De quoi qui ne marche pas ? il ne t'affiche rien ? il ne trouve pas la fonction ?
si je le met juste apres la requete j obtient:
Fatal error: Call to a member function errerInfo() on a non-object
et si je le met apres j'ai
Fatal error: Call to a member function execute() on a non-object
C'est que la méthode query retourne FALSE et non un objet PDOStatement !
Si $field_name et $relation_fields ne sont pas des variables PHP alors échappez le caractère dollar ou changez votre délimiteur de chaîne pour des single quotes. Faites-vous avant celle-ci une requête qui elle fonctionne et retourne un résultat ?
J'ai enleve le caractere $ puis rdb$.
J'obtient toujours une erreur non object; Cela signifi que la requete est mal formulée pour mon php!!!???Code:
1
2
3
4
5 $stmt = $dbh->prepare("SELECT field_name AS CHAMP FROM relation_fields WHERE relation_name='LOT'"); $stmt->execute(); $row = $stmt->fetchAll(); print_r($row);
Quelle est la redaction correcte de ma requete???
Merci
Citation:
Envoyé par pit2121
Citation:
Envoyé par http://fr.php.net/manual/fr/function.PDO-prepare.php
N'utilisant pas ce SGBD, je suis incapable de vous répondre ... Il vous faudra éventuellement poser cette question dans le forum adéquat.Citation:
Envoyé par pit2121
Par experience, moi je te conseillerais d'essayer ca :
Ce qui est logique puisque sinon $fieldname sera interpreté comme variable PHP et celle-ci n'existant probablement pas, il executeraCode:
1
2
3
4
5
6
7
8
9
10
11
12 $sth = $dbh->query("SELECT rdb\$field_name AS CHAMP FROM rdb\$relation_fields WHERE rdb\$relation_name='LOT'"); echo "Champ : "; echo "<select name=champ>"; foreach($sth AS $row) { echo ('<option>'.$row['CHAMP'].'</option>'); } echo "</select>"; echo "<p>";
Et evidemment, ca a peu de chances de marcher!!Code:SELECT rdb AS CHAMP FROM rdb WHERE rdb='LOT'
L'autre solution est d'ecrire tes requetes sous cette forme-la (simple quotes ', de maniere a ce que tes variables PHP ne soient pas interpretées) :
Maintenant, je n'ai jamais essayé PDO (je m'y mets, là ^_^) et il y a peut-être une autre erreur lié à cette librairie...Code:
1
2
3
4
5
6
7
8
9
10
11
12 $sth = $dbh->query('SELECT rdb$field_name AS CHAMP FROM rdb$relation_fields WHERE rdb$relation_name=\"LOT\"'); echo "Champ : "; echo "<select name=champ>"; foreach($sth AS $row) { echo ('<option>'.$row['CHAMP'].'</option>'); } echo "</select>"; echo "<p>";
En esperant avoir apporté un debut de solution