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 -
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 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:
- Probleme d insertion
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
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
Je me suis permis d'utiliser mysql_real_escape_string plutôt que addslashes qui n'est pas adapté à mysql.
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.
Salut,
Dans INTO tu as 4 champs et dans VALUES 6 champs, ça ne colle pas ($img_type est présent 3 fois)
cdlt
Dans INTO tu as 4 champs et dans VALUES 6 champs, ça ne colle pas ($img_type est présent 3 fois)
cdlt
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.
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 .
Je n'ai jamais vu ce message d'erreur avant, il semblerait que tu aies refermé ta connexion au serveur trop tôt .
<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
<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
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.
Je ne te répondrai pas tout de suite, je vais m'absenter quelques heures.
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.
Ç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.
Bonsoir
Un simple lien suffit, si tu as mis le document dans un dossier accessible par http.
Un simple lien suffit, si tu as mis le document dans un dossier accessible par http.
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 !
<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 !
Fatal error: Call to undefined function mysql_real_escape() in D:\wamp\www\ProjetDoc\chargement.php
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