2015-01-01 49 views
0

我是Prestashop的新手。我正在做一个小模块。在该模块中,我想更新一个表格。但我的条件是这样的,它会更新这些行的ID是不是3所以对我来说我的表是这样的Prestashop数据库更新与db类

id  name  active 
1  test1  0 
2  test4  0 
3  test5  1 
4  test9  0 
5  test12  0 
6  test25  0 

所以按照DB classes我做了我这样的查询

$id = 3; 
Db::getInstance()->update('table', array('active'=>'1'), 'id != '.$id); 

也我试过

Db::getInstance()->update('table', array('active'=>'1'), 'id <> '.$id); 

但它没有工作。那么有人可以告诉我如何解决这个问题。 任何帮助和建议将非常可观。

+0

你有没有转过DEV模式?什么是错误? – gskema

+0

我没有收到任何错误 – NewUser

+0

是状态列整数或varchar?因为如果它的varchar,运算符可能是错的 – gskema

回答

2

的溶液,如gskema状态,是投ID为int:

Db::getInstance()->update('table', array('active'=>'1'), 'id != '.(int)$id); 

的PrestaShop需要你通过适当类型的值针对各列。不过,对于“十进制”类型,如果值的格式正确,则可以传入一个字符串。