我想insert
进入sql数据库,数组中的项目。我所做的就是使用INSERT
循环在cash[$i+1]
命令(for
)中递增数组的索引。但它显示错误:
意外' +',预期']'
我该如何解决这个问题?
for($i = 0; $i < count($cash_list); $i = $i+8) {
$sql = "INSERT INTO Payments VALUES('$cash_list[$i]','$cash_list[$i+1]','$cash_list[$i+2]','$cash_list[$i+3]','$cash_list[$i+4]','$cash_list[$i+5]','$cash_list[$i+6]','$cash_list[$i+7]')";
if (mysqli_query($con, $sql))
echo "yes";
else
echo "Error: " . $sql . "<br>" . $con->error;
}
答案 0 :(得分:0)
这是因为
$i+1
不会被解释为数学表达式。它只是一个字符串。所以你必须concatenate这样的字符串:
$sql = "INSERT INTO Payments
VALUES('" . $cash_list[$i] . "',
'" . $cash_list[$i+1] . "',
'" . $cash_list[$i+2] . "',
'" . $cash_list[$i+3] . "',
'" . $cash_list[$i+4] . "',
'" . $cash_list[$i+5] . "',
'" . $cash_list[$i+6] . "',
'" . $cash_list[$i+7] . "'
)";
另外,您可能需要查看:mysqli_* prepared statements
哪个更安全!
(也请从循环条件中取出count($cash_list)
并将其放入变量中,然后在条件中使用变量)