Erreur création table (MySQL) [Débutant] - SQL/NoSQL - Programmation
Marsh Posté le 05-11-2004 à 16:54:41
remplace :if (!$creation) echo "erreur creation";
par if (!$creation) echo mysql_error();
Marsh Posté le 08-11-2004 à 13:17:28
OK.
Ca renvoie :
Citation : You have an error in your SQL syntax near 'defaut '', PRIMARY KEY (idclient), KEY nom (nom) )' at line 6 |
Marsh Posté le 08-11-2004 à 13:25:32
Ok j'ai supprimé "defaut ''" à chaque ligne et ça fonctionne...
Je sais pas exactement pourquoi... mais ça marche!
merci
Marsh Posté le 08-11-2004 à 14:08:16
paske tu peux pas mettre un champ vide par défaut pour un int ou tinyint.. il faut mettre default '0' ou default '-1' ou tout ce que tu veux !
Marsh Posté le 08-11-2004 à 19:23:44
OK merci beaucoup...
En fait j'avais encore quelques (millers d' ) erreurs dans mon code, mais j'ai tout arrangé... Mon formulaire fonctionne!
Marsh Posté le 05-11-2004 à 09:27:08
Salut,
J'essaie de faire une simple table sous MySQL (via php... pas de programme dispo), mais, même en suivant le script d'un tutoriel, la création échoue...
Pourriez-vous me dire où est le problème, svp?
<?
require("conf.php3" );
// connection a la base en local
$connect = mysql_connect($serveur,$user,$passwd);
if (!$connect) echo "erreur connection";
// selection de la base
$selection=mysql_select_db($bdd,$connect);
if (!$selection) echo "erreur selection base";
// votre requete de création de la table
//$create_table = "CREATE TABLE kart2 (
//id_eleve INT(11) NOT NULL AUTO_INCREMENT,
//nom_eleve VARCHAR(50) NOT NULL DEFAULT '',
//prenom_eleve VARCHAR(50) NOT NULL DEFAULT '',
//niveau_kart TINYINT(UNSIGNED) NOT NULL DEFAULT '',
//niveau_moto TINYINT(UNSIGNED) NOT NULL DEFAULT '',
//nbre_sessions_kart TINYINT(UNSIGNED) NOT NULL DEFAULT '',
//nbre_sessions_moto TINYINT(UNSIGNED) NOT NULL DEFAULT '',
//possede_voiture VARCHAR(3) NOT NULL DEFAULT '',
//adresse_mail_eleve VARCHAR(50) NOT NULL DEFAULT '',
//PRIMARY KEY(id_eleve),
//INDEX(niveau_kart,niveau_moto)
//)";
//if (!$create_table) echo "erreur création table";
$sql="CREATE TABLE client (
idclient int(10) unsigned NOT NULL auto_increment,
nom varchar(64) NOT NULL default '',
prenom varchar(64) NOT NULL default '',
age int(2) unsigned NOT NULL default '',
ville varchar(64) NOT NULL defaut '',
PRIMARY KEY (idclient),
KEY nom (nom)
)";
if (!$sql) echo "erreur $sql";
$creation=mysql_query($sql);
if (!$creation) echo "erreur creation";
//$create=mysql_query($create_table,$connect);
//if (!$create) echo "erreur création 2";
echo "Création terminée";
// votre requete de selection
$sql = mysql_query("SELECT nom_eleve FROM kart2 WHERE id_eleve='0'" );
if (!$sql) echo "erreur requete de selection";
// fermeture de la connection
mysql_close($connect);
?>
J'ai mis en commentaires la table que je voulais créer (que j'ai changé par le cript du tutoriel). Ce code renvoie "erreur creationCréation terminéeerreur requete de selection"...
Merci d'avance pour les réponses!
Message édité par totolezero le 05-11-2004 à 09:34:48