Php 使用动态表输入更新mySQL表
我在用动态表更新mysql数据库时遇到了问题,在提交表单之前,我可以在动态表中添加或删除行 我可以用硬编码的值使它工作,但当我尝试用while循环更新时,我似乎无法使它工作 我第一次这样设置柱子Php 使用动态表输入更新mySQL表,php,mysql,html,Php,Mysql,Html,我在用动态表更新mysql数据库时遇到了问题,在提交表单之前,我可以在动态表中添加或删除行 我可以用硬编码的值使它工作,但当我尝试用while循环更新时,我似乎无法使它工作 我第一次这样设置柱子 results += "<tr><td>" + "<input style=\"border:none\" name=\"bar"+i+"\" id=\"bar"+i+"\" type=\"text\" value=\""+myArray[i]+"\" class=\"fi
results += "<tr><td>" + "<input style=\"border:none\" name=\"bar"+i+"\" id=\"bar"+i+"\" type=\"text\" value=\""+myArray[i]+"\" class=\"field left\" readonly>" + "</td>";
results += "<td>" + "<input class=\"form-control\" type=\"text\" name=\"input"+i+"\" id=\"input"+i+"\"/>" + "</td>";
results += "<input class=\"form-control\" type=\"hidden\" value=\""+myArray.length+"\" name=\"arr\" id=\"arr\" readonly /><table><br /> <br />";
<?php
$arrLength= $_POST['arr'];
$x=0;
while ($x<$arrLength){
$quantity= $_POST['input0'];
$barcode = $_POST['bar0'];
$query="UPDATE inventory_items ".
"SET item_quantity = item_quantity + $quantity ".
"WHERE item_barcode = $barcode" ;
$x++;
};
?>
感谢您的帮助将您的查询更新为:
$query= "UPDATE `inventory_items` SET `item_quantity` = '" . $_POST['input' . $x] . "' WHERE `Id` = '" . $row['bar' . $x] . "' ;";
您在Javascript中使用了+as。用于在php中合成。在代码中添加字符串和整数变量。使用
mysqli.*
或PDO
不足以阻止SQL注入。您需要清理查询中使用的变量,或者更好地使用参数化查询
$quantity= $_POST['input'+$x];
$query= "UPDATE `inventory_items` SET `item_quantity` = '" . $_POST['input' . $x] . "' WHERE `Id` = '" . $row['bar' . $x] . "' ;";