prestashop将值插入数据库,显示意外的T_STRING

时间:2013-05-17 09:59:28

标签: php mysql module prestashop

在prestashop我正在做一个模块。我需要在数据库中插入一些值。所以为此,我让我的代码看起来像这样

DB::getInstance()->Execute('
    INSERT INTO `'._DB_PREFIX_.'socialapps` (`app_id`, `app_name`, `status`, `title`) VALUES (1, 'google plus', 0, 'google title')');

但每次我收到像Parse错误一样的错误:语法错误,行中出现意外的T_STRING。所以有人可以告诉我这里有什么不对吗?任何帮助和建议都会非常明显。感谢

2 个答案:

答案 0 :(得分:4)

你为什么要编写SQL查询?为什么不使用PS插入功能。

PS db库提供了另一种数据插入功能。请查看以下示例代码

$insertData = array(
         'app_id'  => 1, 
         'app_name'  => 'google plus', 
         'status'   => 0, 
         'title'  => 'google title'
      );

 Db::getInstance()->insert("your table name", $insertData);

应该定义$ insertData数组,以便键将是表中的字段名,值应该是db表的值。

另请注意,您不需要附加表前缀,因为insert函数会自动添加表前缀。

谢谢

答案 1 :(得分:1)

您使用'google plus'而不是“双引号”附近的引号。你的代码应该是这样的,你就可以了。

DB::getInstance()->Execute('
INSERT INTO `'._DB_PREFIX_.'socialapps` (`app_id`, `app_name`, `status`, `title`) VALUES (1, "google plus", 0, "google title")');