我想要make包和查询列表。
更新查询如:
UPDATE table
SET column = XXX
WHERE column = XXX AND column2 = XXX;
UPDATE table
SET column = XXX
WHERE column = XXX AND column2 = XXX;
UPDATE table
SET column = XXX
WHERE column = XXX AND column2 = XXX;
我在一个包中有这1000个查询。现在我想做make查询。
我尝试这样做,但没有成功,因为每次我收到这样的错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在...附近使用正确的语法。
我将此查询和过去复制到phpmyadmin,我就这样做了。这些查询有效!
我有一个带有准备好的查询的变量,我尝试以不同的方式进行。
Database::instance()->query(NULL,$sql);
DB::query(5,$sql)->execute();
DB::query(Database::UPDATE,DB::expr($sql))->execute();
DB::query(Database::UPDATE,$sql)->execute();
但它不起作用; /
任何人都知道怎么做?
答案 0 :(得分:1)
只需从数据库实例调用方法查询:
/** @var Database $db */
$db = Database::instance();
$db->query(Database::UPDATE, 'UPDATE table SET column = XXX WHERE column = XXX AND column2 = XXX;');
但是如果你想在一个查询中执行多个SQL语句,那么它就不可能开箱即用。默认情况下,Kohana使用旧的mysql API,而mysql_query在一次调用中不支持多个查询。
你想要使用我知道的多种SQL语句:
同样对于变体2和3,您必须设置一些PDO设置:https://stackoverflow.com/a/6461110/419665
P.S。对于按配置名称调用数据库实例:
Database::instance('config_name');