1

我正在尝试学习 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";

...

我究竟做错了什么?

4

2 回答 2

8

您的值是字符串,它们仍然需要在 SQL 语句中使用分隔符,即使您已经对其进行了转义。

//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
于 2010-04-05T14:10:59.293 回答
3

在 SQL 中,字符串必须用引号括起来:

$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
于 2010-04-05T14:12:49.563 回答