Introduire une photo dans une base mysql
lorant59
Messages postés
43
Statut
Membre
-
lorant59 Messages postés 43 Statut Membre -
lorant59 Messages postés 43 Statut Membre -
Bonjour,
bonjour,
comme je l ai dis precedemment, j apprend le php/mysql avec une livre qui semble oublier certaines choses.. notamment pour introduire une photo dans la base mysql. Il me dit d'utiliser la commande SQL alter ; ALTER TABLE eleve ADD photo VARCHAR(64) NULL dans ce script sans preciser comment:
<?php
$liendb = mysql_connect("localhost","root","");
mysql_select_db("test");
$sql = "CREATE TABLE eleve (
ideleve int(10) unsigned NOT NULL auto_increment,
nom varchar(64) NOT NULL default '',
prenom varchar(64) NOT NULL default'',
adresse varchar(128) NOT NULL default'',
ville varchar(64) NOT NULL default'',
cp varchar(8) NOT NULL default'',
pays varchar (32) NOT NULL default 'france',
sexe varchar(8) binary NOT NULL default '',
naissance date NOT NULL default '0000-00-00',
taille int(10) unsigned NOT NULL default '0',
email varchar(64) NOT NULL default '',
telephone varchar (16) NOT NULL default'',
lv varchar(16) NOT NULL default'',
PRIMARY KEY (ideleve),
KEY nom (nom)
)";
mysql_query($sql);
mysql_close($liendb);
echo "table <eleve> créée";
?>
Mais malheureusement j ai essayé les differentes combinaisons et cela ne fonctionne pas.
Quelqu un peut il m aider ?
merci d avance
lo
bonjour,
comme je l ai dis precedemment, j apprend le php/mysql avec une livre qui semble oublier certaines choses.. notamment pour introduire une photo dans la base mysql. Il me dit d'utiliser la commande SQL alter ; ALTER TABLE eleve ADD photo VARCHAR(64) NULL dans ce script sans preciser comment:
<?php
$liendb = mysql_connect("localhost","root","");
mysql_select_db("test");
$sql = "CREATE TABLE eleve (
ideleve int(10) unsigned NOT NULL auto_increment,
nom varchar(64) NOT NULL default '',
prenom varchar(64) NOT NULL default'',
adresse varchar(128) NOT NULL default'',
ville varchar(64) NOT NULL default'',
cp varchar(8) NOT NULL default'',
pays varchar (32) NOT NULL default 'france',
sexe varchar(8) binary NOT NULL default '',
naissance date NOT NULL default '0000-00-00',
taille int(10) unsigned NOT NULL default '0',
email varchar(64) NOT NULL default '',
telephone varchar (16) NOT NULL default'',
lv varchar(16) NOT NULL default'',
PRIMARY KEY (ideleve),
KEY nom (nom)
)";
mysql_query($sql);
mysql_close($liendb);
echo "table <eleve> créée";
?>
Mais malheureusement j ai essayé les differentes combinaisons et cela ne fonctionne pas.
Quelqu un peut il m aider ?
merci d avance
lo
A voir également:
- Introduire une photo dans une base mysql
- Google photo - Télécharger - Albums photo
- Base de registre - Guide
- Légender une photo - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Comment faire une recherche à partir d'une photo - Guide
3 réponses
Slt à toi !!!
Alors en faite, tu créer ici une table élève dans ta base de donnée -> test
Tu modifie ensuite cette table (ALTER) pour lui ajouter un champ (photo).
Ce que tu va stocker en faite dans ta base de donnée, ce n'est pas une photo, mais l'emplacement ou se situera la photo, ou encore simplement son nom.
Cela dit, voici une requête SQL correct ;)
CREATE TABLE eleve (
ideleve int(10) primary key auto_increment,
nom varchar(64) NOT NULL,
prenom varchar(64) NOT NULL,
adresse varchar(128) NOT NULL,
ville varchar(64) NOT NULL,
cp varchar(8) NOT NULL,
pays varchar (32) NOT NULL default 'france',
sexe varchar(8) binary NOT NULL,
naissance date NOT NULL default '0000-00-00',
taille int(10) unsigned NOT NULL default '0',
email varchar(64) NOT NULL,
telephone varchar (16) NOT NULL,
lv varchar(16) NOT NULL
);
ALTER TABLE eleve ADD photo VARCHAR(64) NULL;
Alors en faite, tu créer ici une table élève dans ta base de donnée -> test
Tu modifie ensuite cette table (ALTER) pour lui ajouter un champ (photo).
Ce que tu va stocker en faite dans ta base de donnée, ce n'est pas une photo, mais l'emplacement ou se situera la photo, ou encore simplement son nom.
Cela dit, voici une requête SQL correct ;)
CREATE TABLE eleve (
ideleve int(10) primary key auto_increment,
nom varchar(64) NOT NULL,
prenom varchar(64) NOT NULL,
adresse varchar(128) NOT NULL,
ville varchar(64) NOT NULL,
cp varchar(8) NOT NULL,
pays varchar (32) NOT NULL default 'france',
sexe varchar(8) binary NOT NULL,
naissance date NOT NULL default '0000-00-00',
taille int(10) unsigned NOT NULL default '0',
email varchar(64) NOT NULL,
telephone varchar (16) NOT NULL,
lv varchar(16) NOT NULL
);
ALTER TABLE eleve ADD photo VARCHAR(64) NULL;
CELA NE FONCTIONNE PAS il m'indique : Parse error: syntax error, unexpected T_STRING in .... du coup erreur de syntaxe
NOUVELLE ERREUR
ENregardant bien si je laisse mon script d'origine sans rajouter ALTER..... la photo se crée dans mon repertoire ou se trouve mon script .. j en deduit que cela fonctionne et que ce n'est pas l'erreur car j ai d autres scripts .Depuis que j ai ajouté dans le script php eleve_enregistrement.php , $_Files['photo'] ['name...(dans VALUES de INSERT INTO à la fin)].... il me donne l echec de l envoi.... l erreur est dedans ....
script widget :
<html>
<head><title>ajouter un eleve</title></head>
<body>
<h1>ajouter un eleve:</h1>
<form action="eleve_enregistre.php" method="post"
enctype ="multipart/form-data">
<label>nom</label>
<input type="text" name="nom" /><br/>
<label>prenom</label>
<input type="text" name="prenom" /><br/>
<label>adresse</label>
<textarea name="adresse"></textarea><br/>
<label>ville</label>
<input type="text" name="ville" /><br/>
<label>code postal</label>
<input type="text" name="codepostal" /><br/>
<label>pays</label>
<input type="text" name="pays" /><br/>
<label>sexe</label>
<input type="radio" name="sexe" value="masculin" /> M
<input type="radio" name="sexe" value="feminin" /> F<br/>
<label>date naissance</label>
<input type="text" name="naissance" /><br/>
<label>taille (cm)</label>
<input type="text" name="taille" /><br/>
<label>email</label>
<input type="text" name="email" /><br/>
<label>telephone</label>
<input type="text" name="telephone" /><br/>
<label>langue vivante</label>
<select name="lv">
<option value="anglais">anglais</option>
<option value="espagnol">espagnol</option>
<option value="allemand">allemand</option>
</select><br/>
<label>photo</label>
<input type="file" name="photo" />
<br/><br/>
<input type="submit" value="enregistrer" />
</form>
</body>
</html>
script eleve_enregistrement.php
<?php
if (is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'],
$_FILES['photo']['name']);
print("<center><img src='".$_FILES['photo']['name']."' /></center></hr>");}
else{
die("PROBLEMES D ENVOI DU FICHIER.");}
if(empty($_REQUEST['nom']) || empty($_REQUEST['prenom'] ) || empty($_REQUEST['adresse']) || empty($_REQUEST['ville']) || empty($_REQUEST['codepostal']) || empty($_REQUEST['pays']) ||empty($_REQUEST['naissance']) || empty($_REQUEST['telephone']) || empty($_REQUEST['lv']))
die("ERREUR : tous les champs doivent etre remplis.");
if ($_REQUEST['sexe'] !="masculin" &&
$_REQUEST['sexe']!="feminin")
die("ERREUR : choisissez votre sexe.");
if(preg_match("/^[\w\.-]+@[\w\.-]+\.[a-z]{2,3}$/i",
$_REQUEST['email']) ==false)
die("ERREUR : ADRESSE E-MAIL NON VALIDE.");
if($_REQUEST['taille']<=100 || $_REQUEST['taille']>=200)
die("ERREUR : la taile n'est pas valide.");
$liendb = mysql_connect("localhost","root", "");
mysql_select_db ("test");
$sql ="INSERT INTO eleve (nom, prenom, adresse, ville, cp, pays, sexe, naissance, taille, email, telephone, lv, photo)
VALUES ('".$_REQUEST['nom']."','".$_REQUEST['prenom']."','".$_REQUEST['adresse']."','".$_REQUEST['ville']."','".$_REQUEST['codepostal']."','".$_REQUEST['pays']."','".$_REQUEST['sexe']."','".$_REQUEST['naissance']."','".$_REQUEST['taille']."','".$_REQUEST['email']."','".$_REQUEST['telephone']."','".$_REQUEST['lv']."','".$_FILES['photo']['name']."')";
$ideleve = mysql_insert_id();
if(mysql_query($sql)!=false){
$ideleve = mysql_insert_id();
print("eleve[$ideleve] <".$_REQUEST['nom'].">enregistré.");
}
else
print("ECHEC lors de la creation de la fiche.");
mysql_close($liendb);
?>
Dur dur les premiers pas .... ;-)
ENregardant bien si je laisse mon script d'origine sans rajouter ALTER..... la photo se crée dans mon repertoire ou se trouve mon script .. j en deduit que cela fonctionne et que ce n'est pas l'erreur car j ai d autres scripts .Depuis que j ai ajouté dans le script php eleve_enregistrement.php , $_Files['photo'] ['name...(dans VALUES de INSERT INTO à la fin)].... il me donne l echec de l envoi.... l erreur est dedans ....
script widget :
<html>
<head><title>ajouter un eleve</title></head>
<body>
<h1>ajouter un eleve:</h1>
<form action="eleve_enregistre.php" method="post"
enctype ="multipart/form-data">
<label>nom</label>
<input type="text" name="nom" /><br/>
<label>prenom</label>
<input type="text" name="prenom" /><br/>
<label>adresse</label>
<textarea name="adresse"></textarea><br/>
<label>ville</label>
<input type="text" name="ville" /><br/>
<label>code postal</label>
<input type="text" name="codepostal" /><br/>
<label>pays</label>
<input type="text" name="pays" /><br/>
<label>sexe</label>
<input type="radio" name="sexe" value="masculin" /> M
<input type="radio" name="sexe" value="feminin" /> F<br/>
<label>date naissance</label>
<input type="text" name="naissance" /><br/>
<label>taille (cm)</label>
<input type="text" name="taille" /><br/>
<label>email</label>
<input type="text" name="email" /><br/>
<label>telephone</label>
<input type="text" name="telephone" /><br/>
<label>langue vivante</label>
<select name="lv">
<option value="anglais">anglais</option>
<option value="espagnol">espagnol</option>
<option value="allemand">allemand</option>
</select><br/>
<label>photo</label>
<input type="file" name="photo" />
<br/><br/>
<input type="submit" value="enregistrer" />
</form>
</body>
</html>
script eleve_enregistrement.php
<?php
if (is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'],
$_FILES['photo']['name']);
print("<center><img src='".$_FILES['photo']['name']."' /></center></hr>");}
else{
die("PROBLEMES D ENVOI DU FICHIER.");}
if(empty($_REQUEST['nom']) || empty($_REQUEST['prenom'] ) || empty($_REQUEST['adresse']) || empty($_REQUEST['ville']) || empty($_REQUEST['codepostal']) || empty($_REQUEST['pays']) ||empty($_REQUEST['naissance']) || empty($_REQUEST['telephone']) || empty($_REQUEST['lv']))
die("ERREUR : tous les champs doivent etre remplis.");
if ($_REQUEST['sexe'] !="masculin" &&
$_REQUEST['sexe']!="feminin")
die("ERREUR : choisissez votre sexe.");
if(preg_match("/^[\w\.-]+@[\w\.-]+\.[a-z]{2,3}$/i",
$_REQUEST['email']) ==false)
die("ERREUR : ADRESSE E-MAIL NON VALIDE.");
if($_REQUEST['taille']<=100 || $_REQUEST['taille']>=200)
die("ERREUR : la taile n'est pas valide.");
$liendb = mysql_connect("localhost","root", "");
mysql_select_db ("test");
$sql ="INSERT INTO eleve (nom, prenom, adresse, ville, cp, pays, sexe, naissance, taille, email, telephone, lv, photo)
VALUES ('".$_REQUEST['nom']."','".$_REQUEST['prenom']."','".$_REQUEST['adresse']."','".$_REQUEST['ville']."','".$_REQUEST['codepostal']."','".$_REQUEST['pays']."','".$_REQUEST['sexe']."','".$_REQUEST['naissance']."','".$_REQUEST['taille']."','".$_REQUEST['email']."','".$_REQUEST['telephone']."','".$_REQUEST['lv']."','".$_FILES['photo']['name']."')";
$ideleve = mysql_insert_id();
if(mysql_query($sql)!=false){
$ideleve = mysql_insert_id();
print("eleve[$ideleve] <".$_REQUEST['nom'].">enregistré.");
}
else
print("ECHEC lors de la creation de la fiche.");
mysql_close($liendb);
?>
Dur dur les premiers pas .... ;-)