-2

当我硬编码这样的值时,我在 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'),";
}

我试图用 \' 转义 ' 但它不起作用......我如何正确地转义它并仍然插入我的值?

4

3 回答 3

2

尝试

$sql .= "('" . $row_gbl_ltg['EmpNo'] . "','$icon'),";

您可以使用 ' 和 " 但访问关联数组时存在一些限制。

正如@Captain Payalytic 所说,您还可以使用{ }您的 var 作为第二个解决方案。 { }更好地向 PHP 解释我们想要使用/解释的变量的开始和结束位置。

于 2013-03-19T21:49:01.453 回答
2

替代另一个答案:

 $sql .= "('{$row_gbl_ltg['EmpNo']}','$icon'),";
于 2013-03-19T21:50:17.260 回答
1

我实际上会这样做:

foreach ($_POST['icons'] as $icon) {

    $sql .= '("' . $row_gbl_ltg['EmpNo'] . '", "' . $icon . '"),';
}

请记住在实际执行查询之前删除最后一个逗号。

于 2013-03-19T21:50:46.797 回答