apostrophe dans mysql / php
-
24-09-2019 - |
Question
Je suis en train d'apprendre php / mysql.
insérer des données dans mysql fonctionne très bien, mais l'insertion de ceux avec apostrophe génère une erreur. i essayé d'utiliser mysql_real_escape_string, mais cela ne fonctionne pas.
apprécierait toute aide.
<?php
include 'config.php';
echo "Connected <br />";
$auth = $_POST['author'];
$quo = $_POST['quote'];
$author = mysql_real_escape_string($auth);
$quote = mysql_real_escape_string($quo);
//**************************
//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ($author, $quote)";
if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
...
ce que je fais mal?
La solution
Vos valeurs sont des chaînes, ils doivent encore délimiteurs dans l'instruction SQL, même après que vous les avez échappé.
//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
Autres conseils
Les chaînes doivent être entre guillemets doubles dans SQL:
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow