0
我的else语句没有在执行时得到执行。代码中没有错误。它只是与我的查询和foreach语句的流程有关,但我似乎无法弄清楚这一点。有任何想法吗?PHP else语句没有执行
$id = $this->input->post('id');
$session_id = $this->input->post('session_id');
$q1 = $this->db->query("SELECT *
FROM default_cart
WHERE cookie_id = '$session_id'
AND product_id = '$id' LIMIT 1");
foreach($q1->result() as $row) {
if($row->cookie_id != $session_id && $row->product_id != $id) {
echo json_encode(array('error_code' => 'e100'));
} else {
$data = array('product_id' => $id,
'active' => 'Yes',
'cookie_id' => $session_id
);
$this->db->insert('default_cart', $data);
echo json_encode(array('success' => true));
}
}
您需要测试/输出您正在查询的变量以及从查询中获得的结果,以找出与您设置的条件不匹配的原因。 – Lapidouce
你的循环很奇怪。您只显式查询匹配'cookie_id = $ session_id'和'product_id = $ id'的数据集,但您希望数据库返回其他内容,所以您看到需要再次检查if。为什么? – Sven