Erreur 1064 sur certains textes (INSERT INTO)

User -  
 User -
Bonjour,

J'ai commencé à apprendre le PHP/MySQL et je me retrouve avec une erreur 1064 lorsque je veux ajouter du texte à la BDD. Cette erreur survient uniquement avec certains textes et pas avec d'autres.
J'ai créé une page avec des <input> pour pouvoir ajouter ces textes plus facilement, ci-dessous le code qui pose problème :


<?php
require_once('sql.php'); /* connexion BDD */

$req = mysqli_query($connect, "INSERT INTO 'content'('id', 'reminder', 'title') VALUES(NULL, '$_POST[reminder]', '$_POST[title]')")
or die("Error code : " . mysqli_errno($connect));

echo "Reminder Added<br />";
echo "<a href='insert.html'>" . "Add another reminder" . "</a><br />";
echo "<a href='index.php'>" . "Back to Index" . "</a><br />";
?>

Après avoir recherché sur d'autres forums je n'ai pas trouvé de problèmes similaires car en général cette erreur ne permet aucun ajout alors que pour moi l'erreur vient de certains textes et pas tous.

Je copie/colle les textes de différents sites internet (qu'il soit en gras, italique ou autre), j'ai changé l'interclassement, j'ai essayer avec et sans les 'AltGr 7', j'ai changer le type de TEXT à LONGTEXT, j'ai tapé un texte super long pour voir si la taille posait un problème (le texte est passé sans problème).

Je me casse la tête dessus depuis 2 jours :'(

Merci de votre aide !

2 réponses

reaverlost Messages postés 168 Statut Membre 21
 
Salut,

J'ai eu un problème similaire, et je pense que pour toi aussi ça vient de certains caractère spéciaux (apostrophe, accents, étoile, guillemets et autres).

Si c'est ça, je ne me rappelle plus très bien, mais essayes de placer un utf8_encode avant de les mettre dans ta base.
1
User
 
Salut,
Merci pour ta réponse, voici ce que j'ai fait mais j'ai la même erreur :


<?php
require_once('sql.php');

$enremind=utf8_encode($_POST['reminder']);
$req = mysqli_query($connect, "INSERT INTO 'content'('id', 'reminder', 'title') VALUES(NULL, '$enremind', '$_POST[title]')")
or die("Error code : " . mysqli_errno($connect));

echo "Reminder Added<br />";
echo "<a href='insert.html'>Add another reminder</a><br />";
echo "<a href='index.php'>Back to Index</a><br />";
?>
0
reaverlost Messages postés 168 Statut Membre 21
 
Essayes ça alors :

$enremind= mysql_real_escape_string (htmlentities ($_POST[reminder]));

...


1
User
 
Même erreur :'(
0