Query
执行自定义原始查询。
query($query)
-
query [string]
SQL 查询语句。
-
map (可选) [array]
预处理语句的输入参数值数组。
返回: [object] PDOStatement 对象。
Medoo 使用 SQL-92 标准处理所有查询。您应该记住查询中的引号,或尽可能使用预处理语句来防止 SQL 注入。
$database->query("CREATE TABLE table ( c1 INT STORAGE DISK, c2 INT STORAGE MEMORY ) ENGINE NDB;"); $data = $database->query("SELECT email FROM account")->fetchAll(); print_r($data);
引号语法
原始 SQL 表达式为表名和列名提供了快捷引号和前缀,因此您不必关心引号和维护表前缀。您所要做的就是使用
$data = $database->query("SELECTFROM ")->fetchAll(); // 此查询将被转换为: // SELECT "email" FROM "account" // 如果您在初始化时设置了表前缀,上述查询将被转换为: $database = new Medoo([ .... "prefix" => "WP_" ]); $data = $database->query("SELECT , FROM WHERE != 100 ")->fetchAll();
SELECT "WP_account"."email", "WP_account"."nickname" FROM "WP_account" WHERE "id" != 100
预处理语句
query() 也支持预处理语句。Medoo 将自动检测输入参数的数据类型。
$data = $database->query( "SELECT * FROMWHERE = :user_name AND = :age", [ ":user_name" => "John Smite", ":age" => 20 ] )->fetchAll(); print_r($data);