MYSQL Erreur : SQLSTATE[42000]: .....1604
schancel
Messages postés
296
Date d'inscription
Statut
Membre
Dernière intervention
-
schancel Messages postés 296 Date d'inscription Statut Membre Dernière intervention -
schancel Messages postés 296 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'aimerai stocker une image dans ma base via php
voici mon code
je recoi tjr l'erreur
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
l
j'aimerai stocker une image dans ma base via php
voici mon code
function file_fichier(){ $ret = false ; $img_blob=''; $img_weight=0; $img_type=''; $img_name=''; $max_weight=250000; $ret=is_uploaded_file($_FILES['sbphoto']['tmp_name']); if(!$ret){ echo "le fichier n'a pas pu etre transferé"; return false; } else{ $img_weight=$_FILES['sbphoto']['size']; if($img_weight>$max_weight){ echo "votre fichier ne peut depasser plus de 250 ko"; return false; } $img_type=$_FILES['sbphoto']['type']; $img_name=$_FILES['sbphoto']['name']; $img_blob= file_get_contents($_FILES['sbphoto']['tmp_name']); try{ $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bddp = new PDO('mysql:host=localhost;dbname=sbdb', 'root', '',$pdo_options); $bddp->exec("INSERT INTO image(img_name,img_weight,img_type,img_blob) VALUES('$img_name','$img_weight' ,'$img_type', 'addslashes $img_blob')"); } catch(exCeption $e){ die('Erreur : '.$e->getMessage()); } } }
je recoi tjr l'erreur
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
l
A voir également:
- MYSQL Erreur : SQLSTATE[42000]: .....1604
- Mysql community server - Télécharger - Bases de données
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Iptv erreur de lecture - Forum TV & Vidéo
1 réponse
Salut,
Ta chaine est entre guillemets doubles.
Il n'est pas possible d'utiliser des fonctions PHP au sein de ce type de chaines.
Voilà plutôt comment faire :
Par contre, je te conseillerais plutôt de sauvegarder l'image dans un dossier et seulement indiquer le chemin en base de données.
$bddp->exec("INSERT INTO image(...) VALUES('..., 'addslashes $img_blob')");
Ta chaine est entre guillemets doubles.
Il n'est pas possible d'utiliser des fonctions PHP au sein de ce type de chaines.
Voilà plutôt comment faire :
$bddp->exec('INSERT INTO image(img_name,img_weight,img_type,img_blob) VALUES("'.$img_name.'", "'.$img_weight.'", "'.$img_type.'", "'.addslashes($img_blob).'" )');
Par contre, je te conseillerais plutôt de sauvegarder l'image dans un dossier et seulement indiquer le chemin en base de données.
schancel
Messages postés
296
Date d'inscription
Statut
Membre
Dernière intervention
49
stp tu pourrai m'aider