我在php中有一个foreach循环,当我对这样的值进行硬编码时工作正常:
foreach ($_POST['icons'] as $icon) {
$sql .= "('756','$icon'),";
}
我的问题是我必须插入一个会话变量:
$ row_gbl_ltg [ 'EMPNO']
但是当我插入这个时,我得到一个500内部服务器错误,我假设因为使用'喜欢这个:
foreach ($_POST['icons'] as $icon) {
$sql .= "('$row_gbl_ltg['EmpNo']','$icon'),";
}
我试图逃避'带',但它不起作用......如何正确地逃避这一点并仍然插入我的价值?
答案 0 :(得分:2)
尝试
$sql .= "('" . $row_gbl_ltg['EmpNo'] . "','$icon'),";
您可以使用'和',但访问关联数组时会有一些限制。
正如@Captain Payalytic所说,你也可以使用{ }
作为第二个解决方案。
{ }
更好地解释PHP开始和结束我们想要使用/解释的var。
答案 1 :(得分:2)
另一个答案是:
$sql .= "('{$row_gbl_ltg['EmpNo']}','$icon'),";
答案 2 :(得分:1)
我实际上会这样做:
foreach ($_POST['icons'] as $icon) {
$sql .= '("' . $row_gbl_ltg['EmpNo'] . '", "' . $icon . '"),';
}
请记住在实际执行查询之前删除最后一个逗号。