【问题标题】:where should i put the mysqli_real_escape_string [closed]我应该把mysqli_real_escape_string放在哪里[关闭]
【发布时间】:2015-08-11 03:24:44
【问题描述】:

我有这样的代码,但是当我点击提交时,它给了我错误 mysqli_real_escape_string() 期望参数 2 为字符串、数组 给定我应该在哪里做或放置 mysqli_real_escape_string ?

if(!empty($_POST['poscon'])) {
        foreach($_POST['poscon'] as $condition) 
            $condition=mysqli_real_escape_string($link,$_POST['poscon']);

【问题讨论】:

  • 阅读mysqli_real_escape_string的文档:php.net/manual/en/mysqli.real-escape-string.php
  • 是的,我知道,但他问把它放在哪里:)
  • 你可能不能这样做foreach($_POST['poscon'] as $condition) - 如果是这样,那么你使用了错误的变量。做$condition=mysqli_real_escape_string($link,$condtion); - 看看你的as $condition?
  • 应该是 mysqli_real_escape_string($link,$condition);因为 $_POST['poscon'] 是一个数组。
  • 我的代码建议 15 分钟,而 OP 没有任何内容。那一刻的沉默说“不要这样做,弗雷德”。哟,如果你需要一些帮助,你需要在这里与我们交谈。

标签: php


【解决方案1】:

看到您没有回复 cmets,我将其发布为答案。
- 也许您会回复。

你看到你的foreach($_POST['poscon'] as $condition)了吗?

您使用了错误的参数并传递了数组而不是 $condition 变量。

做$condition=mysqli_real_escape_string($link,$condition);

【讨论】:

  • 请在mysqli_real_escape_string 之前和生成的字符串之后给我一个例子。因为它会引起混淆,所以没有给出例子。
  • @PratikCJoshi 鉴于 OP 没有在他们的问题中提供任何其他信息,除了访问 PHP.net 的函数 php.net/manual/en/mysqli.real-escape-string.php 之外,我将无法为您提供该信息和教程网站。
  • 您好 Fred,使用该功能后没有输入输出。我在这里检查了很多答案,但在应用函数后没有给我任何输出。也许你可以给我们答案!
  • @PratikCJoshi 你需要发布一个关于这个的问题。 Stack 不赞成为别人回答问题。抱歉,这就是 Stack 的工作原理。
【解决方案2】:

当您从视图中获取用户输入时,您应该检查一下。

mysqli_real_escape_string 定义

此函数用于创建可在 SQL 语句中使用的合法 SQL 字符串。考虑到连接的当前字符集,将给定的字符串编码为转义的 SQL 字符串。

mysqli_real_escape_string手动

  1. 普通文本

    Early `$name = $_POST['name'];`        
    New Practice `$name = mysqli_real_escape_string($_POST['name'])`
    
  2. 网址

    Early `$url = $_POST['url'];`        
    New Practice `FILTER_VALIDATE_URL` [Check Example](http://www.w3schools.com/php/filter_validate_url.asp)
    
  3. 电子邮件

    Early `$email = $_POST['email'];`        
    New Practice `FILTER_VALIDATE_EMAIL` [Check Example](http://www.w3schools.com/php/filter_validate_email.asp)
    

更多有用的文章

  1. Is mysqli_real_escape_string safe?
  2. mysql(i)_real_escape_string, safe to rely on?
  3. mysqli::real_escape_string, mysqli_real_escape_string

【讨论】:

    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 2016-08-25
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多