perig
Messages postés358Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 5 septembre 2006
-
3 déc. 2003 à 11:36
perig
Messages postés358Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 5 septembre 2006
-
3 déc. 2003 à 19:04
Bonjour :)
Voilà je cherche à créer une table dans ma base Mysql (je suis chez free).
Mon programme fonctionne (je consulte tous les codes d’erreur et tout est ok) mais je ne comprends pas pourquoi, quand je vais voir ma base sous phpMyAdmin la nouvelle table n’apparaît pas.
De même, je cherche à recréer cette même table avec le même script php et la, il me sort que la table existe déjà (alors que sous phpMyAdmin elle n’y est pas).
J’ai cru comprendre que chez free il fallait ajouter un @ devant toutes les commandes Mysql mais je n’ai trouvé aucune info là dessus.
Voici mes sources
Fichier Mysql_Fonc.php3
<?php
function Executer($Requete)
{
/*----------------------------------*/
/* Executer */
/* Adressage d'une requete a MYSQL */
/*----------------------------------*/
function Connexion($Afficher=FALSE)
{
/*----------------------------------*/
/* Connexion */
/* Connection a la base MYSQL */
/*----------------------------------*/
define ("NOM","");
define ("PASSE","");
define ("SERVEUR","sql.free.fr");
define ("BASE","");
if($Db=MYSQL_CONNECT(SERVEUR,NOM,PASSE))
{
if($Afficher)
{
print"Connexion au serveur réussie
";
}
}
else
{
if($Afficher)
{
print"Echec de la connexion au serveur
";
}
}
//ce qui suit est en commentaire car je n’ai qu’une base sur free
/*if(mysql_select_db(BASE,$Db))
{
if($Afficher)
{
print"Connexion a la base réussie
";
}
}
else
{
if($Afficher)
{
print"Echec de la connexion a la base
";
}
}*/
}
?>
Fichier pour l’installation de la base
<?php
include("Mysql_Fonc.php3");
$AFF=TRUE;
Connexion ($AFF);
$Requete="CREATE TABLE Comment_Photos(No INT AUTO_INCREMENT NOT NULL,Catt1 VARCHAR(30),Catt2 VARCHAR(30),Photo INT,Pseudo VARCHAR(50),Date DATE,Comment VARCHAR(255),Email VARCHAR(50),Site VARCHAR(50),PRIMARY KEY (No));";
if(Executer($Requete))
{
if(AFF) print "création de la table réussie
";
}
else
{
if(AFF) print "Erreur n°".MYSQL_ERRNO().":".MYSQL_error()."
";
}
?>
a la 1er exécution j’ai les messages suivants :
Connexion au serveur réussie
Requete:CREATE TABLE Essai(No INT AUTO_INCREMENT NOT NULL,Catt1 VARCHAR(30),Catt2 VARCHAR(30),Photo INT,Pseudo VARCHAR(50),Date DATE,Comment VARCHAR(255),Email VARCHAR(50),Site VARCHAR(50),PRIMARY KEY (No));
Requete réussie
création de la table réussie
Et a la 2e
Connexion au serveur réussie
Requete:CREATE TABLE Essai(No INT AUTO_INCREMENT NOT NULL,Catt1 VARCHAR(30),Catt2 VARCHAR(30),Photo INT,Pseudo VARCHAR(50),Date DATE,Comment VARCHAR(255),Email VARCHAR(50),Site VARCHAR(50),PRIMARY KEY (No));
Erreur n°:1050:Table 'Essai' already exists
Erreur n°1050:Table 'Essai' already exists
floflotz
Messages postés240Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 6 janvier 2006 3 déc. 2003 à 12:43
l'histoire du @ chez free est n'importe koi !!!
le @ sert à annuler un message d'erreu^r
par exemple, quand tu fais mysql_connect(...), si la connexion à la base de données n'est pas possible, tu auras un warning qui s'affichera sur ta page ! si tu mets @mysql_connect(..) (et c'est valable pour toutes les autres fonctions) rien ne s'affichera même si il se produit une erreur !!
perig
Messages postés358Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 5 septembre 2006 3 déc. 2003 à 19:04
Bon finalement j'ai trouvé le problème.
J'avais mes fichiers php sur lycos et ma base sur free et dans ce cas on peut consulter la base mais pas la modifier ce qui explique mes problèmes.
:big) désolé pour le dérangement