Insérer des infos dans ma base de données via un formulaire
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:
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:
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:
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:
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!