Maison > développement back-end > tutoriel php > Discuz!X/database DB :: méthode d'opération de fonction

Discuz!X/database DB :: méthode d'opération de fonction

jacklove
Libérer: 2023-03-27 09:56:02
original
4556 Les gens l'ont consulté

Cet article explique la fonction de fonctionnement de la base de données db.

DB::table($tablename)获取正确带前缀的表名,转换数据库句柄,
DB::delete($tablename, 条件,条数限制)删除表中的数据
DB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent)插入数据操作
DB::update($tablename, 数据(数组)条件)更新操作
DB::fetch(查询后的资源)从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,最后一列将优先。
DB::fetch_first($sql)取查询的第一条数据fetch
DB::fetch_all($sql)查询并fetch
DB::result_first($sql)查询结果集的第一个字段值
DB::query($sql)普通查询
DB::num_rows(查询后的资源)获得记录集总条数
DB::_execute(命令,参数)执行mysql类的命令
DB::limit(n,n)返回限制字串
DB::field(字段名, $pid) 返回条件,如果为数组则返回 in 条件
DB::order(别名, 方法)排序
Copier après la connexion

Remarque : toutes les données doivent être traitées par addlashes() avant d'être insérées dans la base de données pour éviter les erreurs lorsque des caractères spéciaux sont insérés dans la base de données sans s'échapper. Toutes les variables obtenues via GET, POST et FILE dans Discuz ! ont été échappées à l'aide de addlashes() par défaut et n'ont pas besoin d'être répétées. Si un traitement des données est nécessaire (par exemple pour un affichage direct), il peut être restauré à l'aide de stripslashes(), mais les données doivent être à nouveau échappées avant d'être insérées dans la base de données. Dans les fichiers cache, addcslashes($string, ''') est généralement utilisé pour échapper à la valeur des données mises en cache.

Exemple de base de données de requête le plus courant :

Obtenir une seule donnée :

$rs = DB::fetch_first("SELECT * FROM ".DB::table('common_member')." WHERE uid=1");
Copier après la connexion

Les données obtenues ici sont les données de l'utilisateur avec l'UID 1, mais il y en a un autre dans discuz getuserbyuid peut obtenir des données utilisateur

Obtenir plusieurs éléments de données :

$rs = DB::fetch_all("SELECT * FROM " .DB::table('common_member')." WHERE uid in(1,2,3,4,5,6)");
Copier après la connexion

Ce que vous obtenez ici, ce sont les informations de l'utilisateur avec l'UID 1 2 3 4 5 6

Insérer une explication des données

Méthode d'appel : DB::insert()

Description : Concernant si oui ou non. Tant que la valeur est 1, cela signifie oui. Si ce n'est pas le cas, ignorez-la ou laissez-la vide

Exemple :

Tout d'abord, il y a une table nommée pre_test

La table contient les champs suivants : id (De plus en plus) Ignorer le nom du type de champ uid

if(DB::insert('test',array('id'=>NULL,'name'=>'me','uid'=>1))) showmessage("数据插入成功");
Copier après la connexion

Explication : Le nom de clé du tableau ici est le nom du champ dans la table de données et la valeur de la clé est la valeur du champ correspondant inséré

DB::fetch_all('SELECT * FROM %t WHERE panel=%d', array($this->_table, $panel), 'uid');
DB::fetch_all('SELECT * FROM %t WHERE uid=%d ORDER BY dateline DESC', array($this->_table, $uid), 'bid') : array();
Copier après la connexion

Remarque :
Le nombre % dans DZ sera utilisé comme paramètre et vous devez le transmettre. Tout d'abord, vous pouvez utiliser DB : :table($this->_table) à la place, et pour le deuxième, vous pouvez utiliser real. Cela montre que pour le troisième, vous pouvez calculer la valeur et la remplir. Dans ce cas, il ne devrait y avoir aucun problème

Cet article résume et organise les opérations des fonctions. Pour plus de connaissances connexes, veuillez faire attention au site Web chinois de php.

Recommandations associées :

Explication détaillée de la classe String dans le framework ThinkPHP

Bases de JS - Tableau mathématique Date

Que peut faire jQuery ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal