Requêtes natives (générateur de requêtes 13)


La classe Db prend en charge les opérations de requête SQL natives, comprenant principalement les deux méthodes suivantes :

méthode de requête

la méthode de requête est utilisée pour effectuer des opérations de requête SQL et renvoie l'ensemble de données de résultat de la requête (tableau) comme la méthode select .

Exemple d'utilisation :

Db::query("select * from think_user where status=1");

Si vous utilisez actuellement une base de données distribuée et configurez une séparation lecture-écriture, la méthode de requête sera exécutée par défaut sur le serveur de lecture, quelle que soit votre instruction SQL.

Si vous souhaitez lire à partir de la bibliothèque principale, vous pouvez utiliser

Db::master(true)->query("select * from think_user where status=1");

La nouvelle version de la méthode de requête peut prendre en charge les méthodes d'opération en chaîne, notamment :

Méthode de chaîne Instructions
cache Cache de requêtes
masterEst la requête de base de données principale (distribuée valide)
procedureRequête de procédure stockée

execute méthode

execute est utilisée pour mettre à jour et écrire des données SQL les opérations, if Si les données sont illégales ou si la requête est erronée, false est renvoyé, sinon le nombre d'enregistrements concernés est renvoyé.

Exemple d'utilisation :

Db::execute("update think_user set name='thinkphp' where status=1");

Liaison de paramètres

prend en charge l'utilisation de la liaison de paramètres dans les requêtes natives, y compris les espaces réservés de point d'interrogation ou les espaces réservés nommés, par exemple :

Db::query("select * from think_user where id=? AND status=?", [8, 1]);
// 命名绑定
Db::execute("update think_user set name=:name where status=:status", ['name' => 'thinkphp', 'status' => 1]);

Notez que l'utilisation de paramètres pour les noms de table n'est pas prise en charge Reliure