【问题标题】:query is not executing查询未执行
【发布时间】:2011-01-28 09:53:01
【问题描述】:

有人可以帮我解决这个问题吗? 我不知道我犯了什么错误。请帮帮我..

insert into docs values('"$_POST['inputString']"','"$_POST['inputStringa']"','"$_POST['inputStringa1']"','"$_POST['inputStringa2']"','"$_POST['inputStringa3']"','"$_POST['inputStringa4']"')" ;

【问题讨论】:

  • 请显示您遇到的任何错误以及实际生成的 SQL 查询。而且您的查询容易受到SQL injection
  • 也许是时候接受答案了!否则你的下一个问题不会得到太多帮助

标签: php mysql


【解决方案1】:

您的报价不正确。单引号和双引号混淆了。这样做:

mysql_query("insert into docs
values('{$_POST['inputString']}','{$_POST['inputStringa']}',
'{$_POST['inputStringa1']}','{$_POST['inputStringa2']}',
'{$_POST['inputStringa3']}','{$_POST['inputStringa4']}')") ;

另外,记得像这样通过mysql_real_escape_string 传递所有POST 变量:

$_POST['inputString'] = mysql_real_escape_string($_POST['inputString']);

在运行查询之前执行此操作。

【讨论】:

    【解决方案2】:

    阅读有关字符串的 PHP 手册条目并学习基本语法,您会发现为什么这段代码不起作用:

    http://php.net/manual/en/language.types.string.php

    【讨论】:

      【解决方案3】:

      您缺少“。”在查询中

      $sql = "INSERT INTO docs VALUES('".$_POST['inputString']."','".$_POST['inputStringa']."','".$_POST['inputStringa1']."','".$_POST['inputStringa2']."','".$_POST['inputStringa3']."','".$_POST['inputStringa4']."')";
      

      或使用

      删除漏洞

      mysql_query("insert into docs values ( ' { $_POST['inputString'] }' ,'{$_POST['inputStringa']}',' {$_POST['inputStringa1']}','{$_POST['inputStringa2']}',
      '{$_POST['inputStringa3']}','{$_POST['inputStringa4']}')") ;
      

      【讨论】:

        【解决方案4】:

        你同时使用单引号和双引号,你不能这样做。您需要像这样连接帖子值:

        $sql = "INSERT INTO docs VALUES('".$_POST['inputString']."','".$_POST['inputStringa']."','".$_POST['inputStringa1']."','".$_POST['inputStringa2']."','".$_POST['inputStringa3']."','".$_POST['inputStringa4']."')";
        
        mysql_query($sql);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-06-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多