Probleme d insertion

omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,



a chaque fois que je teste cette requette ( mysql_query ("INSERT INTO images (img_nom,img_taille,img_type,img_blob) VALUES ('$img_nom', '$img_taille', '$img_type', '$img_type', '$img_type', 'addslashes ($img_blob)') ") or die (mysql_error ()); )
cette erreur s affiche :
mysql_query ("INSERT INTO images (img_nom,img_taille,img_type,img_blob) VALUES ('$img_nom', '$img_taille', '$img_type', '$img_type', '$img_type', 'addslashes ($img_blob)') ") or die (mysql_error ());
s il vous plait aidez moi merci d avance
A voir également:

8 réponses

le père
 
Bonjour

addslashes est une fonction PHP, elle ne donnera rien du tout si tu la mets à l'intérieur d'une chaîne
mysql_query ("INSERT INTO images (img_nom,img_taille,img_type,img_blob) VALUES ('$img_nom', '$img_taille', '$img_type', '".mysql_real_escape_string($img_blob)."') ") or die (mysql_error ()); )

Je me suis permis d'utiliser mysql_real_escape_string plutôt que addslashes qui n'est pas adapté à mysql.
1
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
j ai eu ca quand j ai utilser ta fonction :s
Fatal error: Call to undefined function mysql_real_escape() in D:\wamp\www\ProjetDoc\chargement.php
0
le père
 
tu as été trop rapide... j'ai pourtant vite corrigé mysql_real_escape_string
0
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
désolé ca fait 2 jours que je suis dessus :s j ai just envie de sortir de cet impasse ...j essaiye ca et jte tien au courant! merci
0
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
toujours ca mon ami :

Warning: mysql_query() [function.mysql-query]: MySQL server has gone away in D:\wamp\www\ProjetDoc\chargement.php on line 38

Warning: mysql_query() [function.mysql-query]: Error reading result set's header in D:\wamp\www\ProjetDoc\chargement.php on line 38
MySQL server has gone away
0
jee pee Messages postés 41553 Date d'inscription   Statut Modérateur Dernière intervention   9 725
 
Salut,

Dans INTO tu as 4 champs et dans VALUES 6 champs, ça ne colle pas ($img_type est présent 3 fois)

cdlt
0
tang1995 Messages postés 762 Date d'inscription   Statut Membre Dernière intervention   152
 
dans ton code tu insére plusieurs fois img type normalement tu ne peus insérer les valeurs qu'une seule fois Je pense que l'erreur vient d'ici.
0
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
j ai rectifier le truc ..ca ne marche tjr pa :s
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le père
 
Ce n'est plus la même erreur... Peux-tu donner le début de ton script, jusqu'à la ligne 38 ?
Je n'ai jamais vu ce message d'erreur avant, il semblerait que tu aies refermé ta connexion au serveur trop tôt .
0
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
<html>
<body>
<?php

if ( isset($_FILES['image']) )
{
$ret = false;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 25000000;
$hote = 'localhost';
$base = 'documents';
$user = 'root';
$pass = '';
$ret = is_uploaded_file ($_FILES['image']['tmp_name']);
if ( !$ret )
{
echo "Problème de transfert";
return false;
}
else
{
// Le fichier a bien été reçu
$img_taille = $_FILES['image']['size'];
if ( $img_taille > $taille_max )
{
echo "Trop gros !";
return false;
}
$img_type = $_FILES['image']['type'];
$img_nom = $_FILES['image']['name'];
$img_blob = file_get_contents ($_FILES['image']['tmp_name']);
$cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
mysql_query ("INSERT INTO images (img_nom,img_taille,img_type,img_blob) VALUES ('$img_nom', '$img_taille', '$img_type', '".mysql_real_escape_string($img_blob)."') ") or die (mysql_error ());
mysql_close();
}
}
?>

</body>
</html>


voila le scripte en entier ...c pour uploader une image et la mettre dans une table mysql voila
0
le père
 
Il est gros comment le fichier que tu essayes de charger ? Il n'y aurait pas une limitation au niveau de ta base de données ? Essaye avec un tout petit fichier pour voir.
Je ne te répondrai pas tout de suite, je vais m'absenter quelques heures.
0
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
ya pa de probleme c est egntil de m accorder un peu de temps quand meme :)
j ai essaiyr avec un petit document text et ca marche !!
si tu trouve une solution pr l image fait moi signe ..je v chercher de mon coté aussi ! merci
0
le père
 
Donc le problème, c'est une limitation de taille ou de durée...
Ça marcherait dans doute nettement mieux si tu sauvegardais tes fichiers avec le système de fichier (il est fait pour ça...), dans un dossier quelconque avec un move_uploaded_file, et que tu n'enregistres dans la base que le nom du fichier. Personnellement, j'ai toujours procédé comme ça.
0
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
oui c ce que j" ai fait pour les documents PDF.
j enregistre le path dans la base de donnees et le document sur un fichier du serveur WAMP .
le probleme maintenant c est de telecharger ce document du serveur :D. si c possible de m aider encore merci .
0
le père
 
Bonsoir

Un simple lien suffit, si tu as mis le document dans un dossier accessible par http.
0
omar_k Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
j ai pa compris ce que tu voulai dir !


<html>
<body>
<?php

if ( isset($_FILES['pdf']) )
{
$ret = false;
$pdf_titre= '';
$nom='';
$pdf_description='';
$pdf_taille = '';
$chemin='d:/wamp/www/fichiers/';
$rep_destination='';
$hote = 'localhost';
$base = 'gestiondoc';
$user = 'root';
$pass = '';
$ret = is_uploaded_file ($_FILES['pdf']['tmp_name']);
if ( !$ret )
{
echo "Problème de transfert";
return false;
}
else
{

$pdf_titre=$_POST['titre'];
$pdf_description=$_POST['description'];
$pdf_taille = $_FILES['pdf']['size'];
$nom=$_FILES['pdf']['name'];
$pdf_url=$chemin.$nom;
move_uploaded_file($_FILES['pdf']['tmp_name'],$chemin.$_FILES['pdf']['name']);
$cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
mysql_query ("INSERT INTO pdf (pdf_titre,pdf_url,pdf_description,pdf_taille,pdf_name) VALUES ('$pdf_titre','$pdf_url','$pdf_description','$pdf_taille','$nom')") or die (mysql_error ());
mysql_close();

}

}

?>
</body>
</html>
voila mon code donne moi ton avis et merci encore !
0