首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在这段代码中把"mysql_real_escape_string“放在哪里?

问在这段代码中把"mysql_real_escape_string“放在哪里?
EN

Stack Overflow用户
提问于 2012-01-28 13:09:28
回答 3查看 243关注 0票数 0

我看过这里的其他示例,但其他每个人的语法都与我的不同,所以我不知道将"mysql_real_escape_string“放在哪里。下面是我当前的代码:

代码语言:javascript
复制
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)

我该把这个字符串添加到哪里呢?

EN

回答 3

Stack Overflow用户

发布于 2012-01-28 13:15:13

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

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

因此,将您的$sql变量更改为:

代码语言:javascript
复制
$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')
";

在使用$_POST变量时,您可能还应该添加isset或empty检查,以避免在它们不存在时引起注意。最后,最好将PDO与预准备语句一起使用,而不是健壮的mysql扩展。

票数 2
EN

Stack Overflow用户

发布于 2012-01-28 13:29:40

//这样使用,查询将在mysql_real_escape_string中正常运行

代码语言:javascript
复制
$sql= 'INSERT INTO stories (author, story_name, story)
   VALUES  
   ('.mysql_real_escape_string($_POST[author]).',
     '.mysql_real_escape_string($_POST[story_name]).',
     '.mysql_real_escape_string($_POST[story]).')';
票数 1
EN

Stack Overflow用户

发布于 2012-01-28 13:14:04

将POST变量放入新变量,然后应用mysql_real_escape_string,最后将新变量放入SQL语句。

代码如下:

代码语言:javascript
复制
include("dbconnect.php");

mysql_select_db("scratch", $con);
$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')";


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

mysql_close($con);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9043093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档