【问题标题】:PHP: foreach insert into, a exploded-listPHP:foreach 插入,一个爆炸列表
【发布时间】:2020-11-04 01:20:55
【问题描述】:

一切似乎都是正确的,但什么也没有发生。 我想插入一个 PHP 展开的关键字列表。 进入 新表,(已经工作/好的): product_keywords

product_id     keyword

来自我的旧桌子 产品,

product_id     keywords (a comma-list)

错误在哪里(?)

爆炸回波测试(已经工作/正常)

$teile_arr = explode(",", $stringx);

foreach($teile_arr as $keyword){
echo " ID: ".$res_id[$i]."<br>";
echo "KW: ".$keyword."<br>";
}

html echo 测试结果正常:

KW: Christmas
ID: 544405
KW: tree
ID: 544405
KW: Santa
ID: 544405

显示输入回显(已经工作/OK)

foreach($teile_arr as $keyword){
echo "<input type='text' name='keyword".$res_id[$i]."' value='".$keyword."'>";
}

不工作,桌子还是空的 PHP 不会在数据库中插入任何内容。 此时“foreach”肯定有问题。

foreach($teile_arr as $keyword){
$sql="INSERT IGNORE INTO product_keywords SET product_id='".$res_id[$i]."', keyword='".$keyword."";
$db->execute($sql);
}

【问题讨论】:

    标签: php


    【解决方案1】:

    插入语句使用VALUES,更新语句使用SET

    "INSERT IGNORE INTO product_keywords SET product_id='".$res_id[$i]."', keyword='".$keyword."";
    

    应该是

    "INSERT IGNORE INTO product_keywords(product_id,keyword) VALUES ('{$res_id[$i]}', '{$keyword}')";
    

    此外,您应该使用准备好的语句来防止 sql 注入攻击。

    How can I prevent SQL injection in PHP?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多