Maison >développement back-end >tutoriel php >Discuz!X/database DB :: méthode d'opération de fonction
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(别名, 方法)排序
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");
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)");
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("数据插入成功");
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();
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
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!