duandou2763 2015-11-12 21:18
浏览 13
已采纳

退出$ _POST中的字符[重复]

This question already has an answer here:

I'm trying to solve this issue for an hour and i have no more solutions. I need to form a sql statement using some variables and i think i need to escape the quotes inside $_POST because i get an error (Parse error: syntax error, unexpected '"')

Help!! Thanks

$counter=$_POST["counter"];

$x=1;
$p="('','$code','$procedure0','$check0')";

while($x<$counter)
{
$p.=",('','$code','$_POST["check".$x]','$_POST["procedure".$x]')";
$x++;
};

...

$sql="INSERT INTO `proceduri` VALUES $p;";
</div>
  • 写回答

2条回答 默认 最新

  • dongshi6969 2015-11-12 21:30
    关注

    Please notice that your $_POST array is inside the query. Correct syntax:

    for ($x = 0; $x < $counter; $x++) {
        if ($x)
            $p .= ',';
    
        $p.="('','$code','" . htmlspecialchars($_POST["check".$x], ENT_QUOTES) . "','" . htmlspecialchars($_POST["procedure".$x], ENT_QUOTES) . "')";
    }
    

    I have added htmlspecialchars func to sanitize variables before sending them to SQL server - this will prevent some possible SQL injection. Please read this to do it best way:

    How can I prevent SQL injection in PHP?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测