probleme de code sql(résolu)

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 15:06

la je vien de changer ma requete mysql en
<?php

$bdd =  new PDO('mysql:host=localhost;dbname=sogamesm', 'sogamesm', '****');

?>
ah deja c'est mieux, tu sais au moins d'ou vient le $bdd, par contre c'est pas complet c'est :
try
{
    $bdd =  new PDO('mysql:host=localhost;dbname=sogamesm', 'sogamesm', '****');
    $bdd->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
}
catch(PDOException $e)
{
    exit($e->getMessage());
}

Eléphant du PHP | 59 Messages

15 oct. 2010, 15:14

maintenant j'ai une grosse erreur

Warning: PDO::exec(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':id, :login, :nom, :prenom, :email, :mdp, :verifmdp)' at line 1 in /home/teamsogames/www/register.php on line 23 Notice: Undefined variable: req in /home/teamsogames/www/register.php on line 24 Fatal error: Call to a member function execute() on a non-object in /home/teamsogames/www/register.php on line 24 
debian lenny | php5.3.3 | mysql 5.1.51 | apache2.2.16

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 15:19

t'as utilise exec a la place prepare

Eléphant du PHP | 59 Messages

15 oct. 2010, 15:26

maintenant j'ai cette erreur
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /home/teamsogames/www/register.php on line 31 Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number in /home/teamsogames/www/register.php on line 31 votre 
debian lenny | php5.3.3 | mysql 5.1.51 | apache2.2.16

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 15:29

t'as définie $req au moins ?

Eléphant du PHP | 59 Messages

15 oct. 2010, 15:32

voici le code :
<?php

// on enregistre le compte du visiteur a mysql.
$req = $bdd->prepare('INSERT INTO register_sogamesm(id, login, nom, prenom, email, mdp) VALUES(:id, :login, :nom, :prenom, :email, :mdp)');
$req->execute(array(
   'login' => $login,
   'nom' => $nom,
   'prenom' => $prenom,
   'email' => $email,
   'mdp' => $mdp,
   ));

echo 'votre compte a bien été enregistré';
?>
debian lenny | php5.3.3 | mysql 5.1.51 | apache2.2.16

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 15:42

et verifmdp pourquoi tu le met dedans :wink:
c'est celui la qui est en trop dans : Invalid parameter number: parameter was NOT defined IN

Eléphant du PHP | 59 Messages

15 oct. 2010, 15:47

oui erreur de ma part désolé mais je vien dans l'enlevé ceci est toujour pareil
debian lenny | php5.3.3 | mysql 5.1.51 | apache2.2.16

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 15:50

oui erreur de ma part désolé mais je vien dans l'enlevé ceci est toujour pareil
et :id ?

Eléphant du PHP | 59 Messages

15 oct. 2010, 15:54

un id comme 1,2,3 ect automatique par mysql sa sa marche bien aucune problème de se coté la pour chaque menbre enregistré le probleme je c'est pas tu tout de ou il vien revoici les code :
<fieldset>
<?php

include_once("include/mysql.php");

$login = $_POST['login'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$email = $_POST['email'];
$mdp = $_POST['mdp'];
$verifmdp = $_POST['verifmdp'];

// on verifie que les 2 mot de passe sont identique.
if ($mdp != $verifmdp)
{
 echo " <br />erreur : Attention les 2 mot de passe sont diff&eacute;rent";
}

// on enregistre le compte du visiteur a mysql.
$req = $bdd->prepare('INSERT INTO register_sogamesm(id, login, nom, prenom, email, mdp) VALUES(:id, :login, :nom, :prenom, :email, :mdp)');
$req->execute(array(
   'login' => $login,
   'nom' => $nom,
   'prenom' => $prenom,
   'email' => $email,
   'mdp' => $mdp
   ));


echo 'votre compte a bien été enregistré';
?>
debian lenny | php5.3.3 | mysql 5.1.51 | apache2.2.16

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 16:00

faut enlevé id de la requete

Eléphant du PHP | 59 Messages

15 oct. 2010, 16:07

maintenant j'ai cette erreur :
Warning: PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'login' cannot be null in /home/teamsogames/www/register.php on line 27 votre compte a bien �t� enregistr� 
debian lenny | php5.3.3 | mysql 5.1.51 | apache2.2.16

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 16:09

je peux pas etre plus explicite que : Column 'login' cannot be null :wink:

t'as vérifier tes valeurs en entrer ?
echo '<pre>' . print_r($_POST, true) . '</pre>';

Eléphant du PHP | 59 Messages

15 oct. 2010, 16:25

la j'ai rien je doit faire quoi?
debian lenny | php5.3.3 | mysql 5.1.51 | apache2.2.16

ViPHP
ViPHP | 5462 Messages

15 oct. 2010, 16:28

la j'ai rien je doit faire quoi?
faut faire en sorte que si les valeur son pas remplis dans POST ca fait pas la requete