Forum Programmation.php Problème avec les requêtes préparées de PDO

Posté par  (site web personnel) .
Étiquettes :
0
21
jan.
2007
Bonjour,
je vous soumets mon petit problème, j'ai commencé à utiliser PDO dans le but de construire une appli indépendante de la base de données (oui, j'ai de l'espoir).
Mon problème est que quand je tente de préparer une requête avec des paramètres anonymes le comportement devient extrêmement étrange. En effet il n'y a pas d'erreur visible, FireFox me propose simplement de télécharger index.php qui est vide.
Quand je tente délibérément de préparer une requête mal formée, une erreur est proprement affichée en revanche....

Le code qui plante
$requete = $objetPDO -> prepare ("INSERT INTO person (`person`.`prenom`, `person`.`nom`) VALUES (?, ?);");


(SELECT * FROM person; fait également planter de la même manière.)

Merci pour votre aide !
  • # le log d'apache2

    Posté par  (site web personnel) . Évalué à 1.

    ...indique une segmentation fault
    • [^] # Re: le log d'apache2

      Posté par  (site web personnel) . Évalué à 3.

      Bon pour moi cette requête a pas l'air juste :
      $requete = $objetPDO -> prepare ("INSERT INTO person (`person`.`prenom`, `person`.`nom`) VALUES (?, ?);");

      La version juste :
      $requete = $objetPDO -> prepare ("INSERT INTO `person` (`prenom`, `nom`) VALUES (?, ?);");
      (en effet `quelquechose`.`quelquechose` c'est table.champ)

      Après j'ai déjà eu de tel résultat (segfault lors d'une erreur).

      Le problème venais d'une mise a jour de certaines portion de php avec certaines modules non recompilés...

      Tu devrais voir selon ta distribution si les paquets en questions sont correcte, etc...

      ps : tu a initialisé correctement ton objet pdo en vérifiant chaque valeur de retour (en mettant un die après chaque instruction)

      ps2 : teste en ligne de commande (cli) si tu peux pour voir si gdb peux t'aiguiller par exemple...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.