PHP MYSQL配置更新语句
我有下面的PHP MYSQL配置更新语句,php,mysql,sql-update,Php,Mysql,Sql Update,我有下面的if语句,它对于insert很有效,但我似乎无法让它只使用未插入的项更新表: 插入: for($i=0; $i<count($fields['Occupation']); $i++) { $id = $fields['Occupation'][$i]; CMS::insertQuery("INSERT INTO {table} SET canid=?, categoryid=?", array($emailCheck
if语句
,它对于insert
很有效,但我似乎无法让它只使用未插入的项更新表:
插入:
for($i=0; $i<count($fields['Occupation']); $i++) {
$id = $fields['Occupation'][$i];
CMS::insertQuery("INSERT INTO {table} SET canid=?, categoryid=?", array($emailCheck['id'], $id));
}
echo 'found update';
完整声明:
$catParams = array_merge(array($emailCheck['id']), $fields['Occupation']);
$catPlaceholders = '?'.str_repeat(',?',count($fields['Occupation'])-1);
$catCheck = CMS::selectQuery("SELECT * FROM {table} WHERE canid=? AND categoryid IN (".$catPlaceholders.")", $catParams);
if($catCheck != FALSE)
{
for($i=0; $i<count($fields['Occupation']); $i++) {
$id = $fields['Occupation'][$i];
CMS::updateQuery("UPDATE {table} SET canid=?, categoryid=? WHERE canid=? AND categoryid=?", array($emailCheck['id'], $id));
}
echo 'found update'l
}else{
for($i=0; $i<count($fields['Occupation']); $i++) {
$id = $fields['Occupation'][$i];
CMS::insertQuery("INSERT INTO {table} SET canid=?, categoryid=?", array($emailCheck['id'], $id));
}
echo 'else insert';
}
$catParams=array\u merge(array($emailCheck['id']),$fields['occulation']);
$catPlaceholders='?'.str_repeat(',?',count($fields['occulation'])-1);
$catCheck=CMS::selectQuery(“从{table}中选择*,其中canid=?,categoryid在(“.$catPlaceholders.”)中,$catParams);
如果($catCheck!=FALSE)
{
对于($i=0;$i),您似乎缺少两个数组项:
CMS::updateQuery("UPDATE {refocus_candidate_category} SET canid=?, categoryid=? WHERE canid=? AND categoryid=?", array(
emailCheck['id'], $id, ,'canid', 'cat_id number here');
);
似乎您缺少两个数组项:
CMS::updateQuery("UPDATE {refocus_candidate_category} SET canid=?, categoryid=? WHERE canid=? AND categoryid=?", array(
emailCheck['id'], $id, ,'canid', 'cat_id number here');
);
我猜您需要以下代码:
CMS::updateQuery("UPDATE {refocus_candidate_category} SET canid=?,
categoryid=? WHERE canid=? AND categoryid=?",
array($emailCheck['id'], $id, $emailCheck['id'], $id)
);
基本上,您需要与UPDATE
语句中的?
一样多的数组元素我猜您需要如下代码:
CMS::updateQuery("UPDATE {refocus_candidate_category} SET canid=?,
categoryid=? WHERE canid=? AND categoryid=?",
array($emailCheck['id'], $id, $emailCheck['id'], $id)
);
基本上,在更新
语句中,您需要的数组元素数量与?
相同发布您尝试更新的代码,完整的一个您在更新查询中有四个参数,但您只提供了两个值..?发布您尝试更新的代码,完整的一个您在更新查询中有四个参数但您只提供了两个值..?非常感谢,但当前它不会插入任何新选定的选项-保留当前插入的项目,但使用任何新选定的项目进行更新。我如何使它这样做?非常感谢,但当前它不会插入任何新选定的选项-保留当前插入的项目,但使用任何新选择进行更新我怎么能让它这么做