任何帮助都会非常感激。
我有一个select / option框将$_GET
数组传递给php控制器,该控制器将此值传递给检索某些MySQL的模型。
然而,我正处于我现在只是如意地刺伤这个阶段的阶段。我认为问题在于数组。
<select id="frm_type" style="margin-left:180px; width: 136px; height:100%;" name="uid[]" multiple="multiple">
<option value="U4BC3128209B01">All Users</option>
<option value="U4D88B8CFE7579">more options</option>
</select>
$_GET
看起来像?&uid%5B%5D=U4DFF15A4581A4&uid%5B%5D=U4D88B8CFE7579
这就像控制器一样进入控制器......
$filter_in = $_GET;
然后被调用到这样的模型中。
$body_data['user_stats'] = $this->mtvm_model->user_stats($filter_in);
然后最后想要使用它的相关部分执行此操作:
if ($filter_in['uid'] != '')
{
$sqlQuery .= " AND ";
foreach($filter_in['uid'] as $key=>$value)
{
$sqlQuery .= " ".$this->tables_calls.".userId = '".mysql_real_escape_string($value)."' ";
if($key != count($filter_in['uid'])-1)
{
$sqlQuery .= " OR ";
}
}
}
是不是我错误地尝试将数组作为$filter_in['uid']
传递?
答案 0 :(得分:0)
查询字符串:
uid%5B%5D=U4DFF15A4581A4&uid%5B%5D=U4D88B8CFE7579
暗示$_GET["uid"]
看起来像这样:
Array
(
[0] => U4BC3128209B01
[1] => U4D88B8CFE7579
)
您应该检查是否存在此变量:
if (isset($filter_in['uid']) && is_array($filter_in['uid'])) {
// ...