Probleme d insertion

Fermé
omar_k Messages postés 49 Date d'inscription dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014 - 27 juin 2011 à 17:53
omar_k Messages postés 49 Date d'inscription dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014 - 1 juil. 2011 à 01:52
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

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 dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
27 juin 2011 à 18:12
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
tu as été trop rapide... j'ai pourtant vite corrigé mysql_real_escape_string
0
omar_k Messages postés 49 Date d'inscription dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
27 juin 2011 à 18:19
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 dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
27 juin 2011 à 18:22
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 40277 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 25 septembre 2024 9 348
27 juin 2011 à 17:57
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 vendredi 21 novembre 2008 Statut Membre Dernière intervention 8 mai 2012 152
27 juin 2011 à 17:57
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 dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
27 juin 2011 à 18:00
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
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 dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
27 juin 2011 à 18:31
<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
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 dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
27 juin 2011 à 19:08
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
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 dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
30 juin 2011 à 21:36
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
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 dimanche 20 juin 2010 Statut Membre Dernière intervention 23 janvier 2014
1 juil. 2011 à 01:52
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