请建议如何在joomla中使用AND编写以下UPDATE查询.
码:
$query = JFactory::getDbo()->getQuery(true);
$db =& JFactory::getDBO();
$query->update('table1');
$query->set('id = ' . $db->quote($idname));
$query->set ('day='. $db->quote($this->_day));
$query->set('id2 = ' . $id2);
$query->where('id = '. (int)$idname)
AND('id2=' .(int)$id2 );
更新失败,错误是这样的:
//........[something before ]....
array(3) {
[0]=>
string(11) "id = '1'"
[1]=>
string(14) "id2='2'"
[2]=>
string(17) "date = 2012-04-02" [it seems i got all the value pass to be update]
}
["glue:protected"]=>
string(4) ","
}
["where:protected"]=>
object(JDatabaseQueryElement)#251 (3) {
["name:protected"]=>
string(5) "WHERE"
["elements:protected"]=>
array(1) {
[0]=>
string(14) "id = 2" [where clause is ok ...BUT with AND...]
}
["glue:protected"]=>
string(5) " AND "
}
["group:protected"]=> [something is wrong here...?]
NULL
["having:protected"]=>
NULL
["columns:protected"]=>
NULL
["values:protected"]=>
NULL
["order:protected"]=>
NULL
["autoIncrementField:protected"]=>
NULL
}
最佳答案
我不确定Joomla更新查询,但我认为它是这样的: –
$query->where('id = '. (int)$idname);
$query->AND('id2=' .(int)$id2 );
要么:-
$query->where('id = '. (int)$idname . 'AND id2 = '.(int)$id2);