Heim  >  Artikel  >  Backend-Entwicklung  >  Discuz!X/database DB:: Funktionsoperationsmethode

Discuz!X/database DB:: Funktionsoperationsmethode

jacklove
jackloveOriginal
2018-05-21 17:30:294538Durchsuche

In diesem Artikel wird die Datenbankbetriebsfunktion db erläutert.

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(别名, 方法)排序

Hinweis: Alle Daten müssen von addslashes() verarbeitet werden, bevor sie in die Datenbank eingefügt werden, um Fehler zu vermeiden, wenn Sonderzeichen ohne Escapezeichen in die Datenbank eingefügt werden. Alle über GET, POST und FILE in Discuz! erhaltenen Variablen wurden standardmäßig mit addslashes() maskiert und müssen nicht wiederholt werden. Wenn eine Datenverarbeitung erforderlich ist (z. B. zur direkten Anzeige), kann diese mithilfe von stripeslashes() wiederhergestellt werden, allerdings müssen die Daten vor dem Einfügen in die Datenbank erneut maskiert werden. In Cache-Dateien wird im Allgemeinen addcslashes($string, ''') verwendet, um den Wert zwischengespeicherter Daten zu maskieren.

Das häufigste Abfragedatenbankbeispiel:

Einzelnes Datenelement abrufen:

$rs = DB::fetch_first("SELECT * FROM ".DB::table('common_member')." WHERE uid=1");

Was hier abgerufen wird, sind die Daten des Benutzers mit UID 1, aber es gibt sie auch eine getuserbyuid in discuz. Benutzerdaten abrufen

Mehrere Daten abrufen:

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

Was Sie hier erhalten, sind die Informationen des Benutzers mit der UID 1 2 3 4 5 6

Datenerklärung einfügen

Aufrufmethode: DB::insert()

Beschreibung: Bezüglich ob oder nicht. Solange der Wert 1 ist, bedeutet dies „Ja“. Wenn dies nicht der Fall ist, ignorieren Sie ihn einfach oder lassen Sie ihn leer 🎜>Die Tabelle enthält die folgenden Felder: id (In zunehmendem Maße) Ignorieren Sie den Namen des UID-Feldtyps

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

Erklärung: Der Schlüsselname des Arrays ist hier der Feldname in der Datentabelle, und der Schlüsselwert ist der Wert des entsprechenden Feldes eingefügt

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();

Hinweis:

Das %-Zeichen in DZ wird als Parameter verwendet und Sie müssen es übergeben. Zunächst können Sie DB::table($ verwenden this->_table), und für die zweite können Sie eine echte Angabe verwenden. Für die dritte können Sie den numerischen Wert berechnen und eingeben. In diesem Fall sollte es keine Probleme geben

Dieser Artikel fasst die Funktionsoperationen zusammen und organisiert sie. Weitere Informationen zu diesem Thema finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Detaillierte Erklärung der String-Klasse im ThinkPHP-Framework

JS-Grundlagen – Mathe-Array-Datum

Was kann jQuery?

Das obige ist der detaillierte Inhalt vonDiscuz!X/database DB:: Funktionsoperationsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn