par
Cyrano » 07 juil. 2006, 11:37
Faux : si tu n'indiques pas un champ dans une requête d'insertion, MySQL gèrera tout seul et insèrera automatiquement la valeur par défaut si elle est définie, incluant (et surtout) un champ auto-incrémenté. Il faudrait effectivement envoyer une chaine vide si tu ne précisais pas du tout les champs dans une requête du type :
Si ton code ne fonctionne pas, ajoute une gestion des erreurs :
<?php
$chemin = "sql.free.fr";
$username = "xxx";
$password = "xxx";
$bdd = "xxx";
$connexion = mysql_connect($chemin,$username,$password);
mysql_select_db($bdd);
$creer = "CREATE TABLE utilisateurs (".
"id INT NOT NULL AUTO_INCREMENT , ".
"username VARCHAR(30), ".
"password VARCHAR (10), ".
"email VARCHAR (20), ".
"PRIMARY KEY (id)".
")";
mysql_query($creer) or die("Erreur lors de la création de la table utilisateurs : ". mysql_error($connexion));
$insert = "INSERT INTO utilisateurs (username,password,email) ".
"VALUES('root','12345',[email protected]')";
mysql_query( $insert) or die("Erreur lors de l'insertion des données : ". mysql_error($connexion));
mysql_close($connexion);
?>
Faux : si tu n'indiques pas un champ dans une requête d'insertion, MySQL gèrera tout seul et insèrera automatiquement la valeur par défaut si elle est définie, incluant (et surtout) un champ auto-incrémenté. Il faudrait effectivement envoyer une chaine vide si tu ne précisais pas du tout les champs dans une requête du type :
[code]INSERT INTO table VALUES('', 'val1', ''val2',...etc...);[/code]
Si ton code ne fonctionne pas, ajoute une gestion des erreurs :
[php]<?php
$chemin = "sql.free.fr";
$username = "xxx";
$password = "xxx";
$bdd = "xxx";
$connexion = mysql_connect($chemin,$username,$password);
mysql_select_db($bdd);
$creer = "CREATE TABLE utilisateurs (".
"id INT NOT NULL AUTO_INCREMENT , ".
"username VARCHAR(30), ".
"password VARCHAR (10), ".
"email VARCHAR (20), ".
"PRIMARY KEY (id)".
")";
mysql_query($creer) or die("Erreur lors de la création de la table utilisateurs : ". mysql_error($connexion));
$insert = "INSERT INTO utilisateurs (username,password,email) ".
"VALUES('root','12345',
[email protected]')";
mysql_query( $insert) or die("Erreur lors de l'insertion des données : ". mysql_error($connexion));
mysql_close($connexion);
?>[/php]