Requete INSERT ne fonctionne pas

Résolu
Korasoa Messages postés 238 Date d'inscription   Statut Membre Dernière intervention   -  
totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'aimerai savoir si quelqu'un a une idée de pourquoi cette requete ne fonctionne pas :
if($rows == 0) {
                                    $date = date('Y-m-d');
                                    $tquery = "INSERT INTO users(id, pseudo, pass, mail, rang, avatar, join) VALUES('', :pseudo, :pass, :mail, :rang, :avatar, :join)";
                                    $query2 = $sql->prepare($tquery)    ;
                                    $array = array(
                                        ":pseudo" => $pseudo,
                                        ":pass" => $pass,
                                        ":mail" => $mail,
                                        ":rang" => "Membre",
                                        ":avatar" => "[https://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/256x256/User1.png]",
                                        ":join" => $date
                                    );
                                    $query2->execute($array);
                                    echo "<pre>";
                                    print_r($array);
                                    echo "</pre>";
                                    $rows2 = $query2->rowCount();
                                    echo "$rows2 ligne insérée.";
                                    echo "<br />Enregistrement réussi ! Vous pouvez vous connecter <b><a href='login.php'>en cliquant ici.</a></b>";
                                }


Chaque fois, le résultat retourné est 0 lignes :s.


Merci.

EDIT: Précision du langage dans la coloration syntaxique.

Le vin ne résout pas les problème, mais l'eau et le lait non plus.
L'argent ne fait pas le bonheur, mais on est mieux en Lotus qu'en 206.

3 réponses

Korasoa Messages postés 238 Date d'inscription   Statut Membre Dernière intervention   44
 
Je vous informe que ça n'a pas du tout avancé ^^'.

Voici la structure de la table :
http://puu.sh/hQiGT/9beb13ffe1.png

Et le code total :
https://pastebin.com/TjKJNzd5


Franchement, si quelqu'un a la réponse, je l'en remercie grandement, car il ne me reste quasi que ça à faire :s.

Merci.
0
totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   134
 
Tu as vérifié dans la base de données si la ligne était quand même insérée.

Dans ton fichier de connexion à la base de données, j'avais ajouté ce paramètre à $sql : "PDO::MYSQL_ATTR_FOUND_ROWS => true"
Parce que dans certaines situations, le nombre de lignes était incorrect. Je ne me rappelle plus de la raison ^^
0
Korasoa Messages postés 238 Date d'inscription   Statut Membre Dernière intervention   44 > totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention  
 
Dans la base de données, aucun ligne n'est ajoutée, je vérifie dans le phpmyadmin à chaque fois ^^.
Du coup je fais du sur place. :/
0
Korasoa Messages postés 238 Date d'inscription   Statut Membre Dernière intervention   44
 
J'informe que quand je fais ça

$query2 = $sql->prepare("INSERT INTO users (pseudo, pass, mail, rang, avatar, join) VALUES (:pseudo, :pass, :mail, :rang, :avatar, NOW())");
$query2->execute(array(
":pseudo" => $pseudo,
":pass" => $pass,
":mail" => $mail,
":rang" => "Membre",
":avatar" => "url.jpg"
)) or die(print_r($sql->errorInfo()));

J'obtiens ceci :
"Array ( [0] => 00000 [1] => [2] => ) 1"
Et la page arrête de se charger.
0
Korasoa Messages postés 238 Date d'inscription   Statut Membre Dernière intervention   44
 
Résolu.

Pour les prochains par la suite.

Sachez que JOIN est un nom réservé. Alors oui, 5 heures de recherches pour ça, j'ai un peu les boules. M'enfin.

Bonne chance, et merci.
0
totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   134
 
Merci, bon à savoir !
0