我在这里查看了其他示例,但是其他所有人的语法都与我的语法不同,因此我不知道在哪里放置“ mysql_real_escape_string”。
这是我当前的代码:
    

include("dbconnect.php");

mysql_select_db("scratch", $con);

$sql= "INSERT INTO stories (author, story_name, story)

VALUES
('$_POST[author]','$_POST[story_name]', '$_POST[story]')";


if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Story Submitted!";

mysql_close($con)


我将在哪里添加该字符串?

最佳答案

您需要转义要包含在查询中的所有变量值。因此,在您的代码中,这些将是:


$_POST['author']
$_POST['story_name']
$_POST['story']


因此,将您的$sql变量更改为如下所示:

$author     = mysql_real_escape_string($_POST['author']);
$story_name = mysql_real_escape_string($_POST['story_name']);
$story      = mysql_real_escape_string($_POST['story']);

$sql= "
INSERT INTO stories (author, story_name, story)
VALUES ('$author','$story_name', '$story')
";


使用isset变量时,您可能还应该添加empty$_POST检查,以免出现不存在的提示。最后,与功能较弱的mysql扩展相比,最好将PDO与预处理语句一起使用。

关于php - 在此代码的哪里放置“mysql_real_escape_string”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9043093/

10-11 05:14