MySQL/PHP中的撇号
-
24-09-2019 - |
题
我正在尝试学习PHP/MySQL。
将数据插入MySQL工作正常,但是插入撇号的数据正在产生错误。我尝试使用mysql_real_escape_string,但这无效。
感谢任何帮助。
<?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";
...
我究竟做错了什么?
解决方案
您的值是字符串,即使您逃脱了,它们仍然需要SQL语句中的定界符。
//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
其他提示
字符串必须用SQL中的引号包裹:
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
不隶属于 StackOverflow