J'ai un problème avec mes deux requêtes sql: SELECT et INSERT INTO.
Je n'arrive pas à insérer des infos via un formulaire dans ma base de données.
J'utilise PHP 5.4.12, MySQL 5.6.12, server wamp, windows 7, PDO, Architecture MVC.
Voilà les deux requêtes: la 1ère permet de vérifier si un utilisateur existe déjà avec le même pseudo et la 2ème permet d’insérer les infos ds la BD.
1ère req:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $req = $db->query(" SELECT count(*) AS nbr FROM users u INNER JOIN type_users tu ON u.type_users_id = 'tu.type_users_id' WHERE tu.type_users_name = '$pseudo' ") or die(print_r($db->errorInfo())); $data = $req->fetch(); $req->closeCursor();
2ème req:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 INSERT INTO users( users_name) SELECT count(*) FROM users u INNER JOIN type_users tu ON u.type_users_id = 'tu.type_users_id' WHERE users_name = '.$pseudo.' $req->execute(array($q)) or die(print_r($db->errorInfo())); $data = $req->fetch(); $req->closeCursor();
code connexion à la BD:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $host = "mysql:host=127.0.0.1;dbname=swoop;charset=utf-8"; $user = "root"; $password = ""; try { $db = new PDO($host, $user, $password); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); } catch(Exception $e) { echo 'Impossible de se connecter à la base de données <br />'; echo $e->getMessage(); die(); }
J'utilise 2 tables ds la BD: users et type_users: les deux sont reliées par le champ: type_users_id. J'utilise aussi les deux requêtes ds des fonctions: is_pseudo et input_pseudo que j'appelle ds la partie traitement formulaire.
Par exemple: dans le controller et dans la page:trait_form: j'ai mis ce code:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php if(isset($pseudo) && !empty($pseudo)) { $pseudo = htmlspecialchars($_POST['pseudo']); // Fonction d'insertion ds la BD (utiliser ds le modèle) input_pseudo(); } ?>
Quelqu'un peut m'aider? Merci!
Partager