“Mnemi”的版本间的差异

来自来博微知
跳转至: 导航搜索
(以“=Classes= ==Class DB== 初始化(以下两种调用是等价的): $dbvar = new DB("dbname"); $dbvar = new DB();<br />$dbvar->usedb("dbname"); '''public $e...”为内容创建页面)
 
Class DB
 
(未显示同一用户的4个中间版本)
第3行: 第3行:
 
==Class DB==
 
==Class DB==
  
初始化(以下两种调用是等价的):
+
'''初始化'''(以下两种调用是等价的):
  
 
$dbvar = new DB("dbname");
 
$dbvar = new DB("dbname");
第11行: 第11行:
 
'''public $err''': 存储刚刚失败的数据库操作错误信息。如果刚刚的数据库操作是成功的,则err被重置为空字符串。当此字符串不为空时,它的格式是,一个短代码(如DBOPERR),后面跟一个空格,后面再跟mysqli类库的error成员字符串内容(易于理解的文本)。
 
'''public $err''': 存储刚刚失败的数据库操作错误信息。如果刚刚的数据库操作是成功的,则err被重置为空字符串。当此字符串不为空时,它的格式是,一个短代码(如DBOPERR),后面跟一个空格,后面再跟mysqli类库的error成员字符串内容(易于理解的文本)。
  
'''function open($db)''':
+
bool '''open'''([string $db]): 连通Mnemi数据库服务器,并(如果$db为非空字符串)使用$db所指定的数据库。如果连接成功则返回TRUE,否则返回FALSE。此函数也被DB类的构造函数所调用。
 +
 
 +
bool '''usedb'''(string $db): 使用$db所指定的数据库,即以后的操作默认在此数据库执行。如果函数成功则返回TRUE,否则返回FALSE。
 +
 
 +
mixed '''run'''(string $sql): 运行SQL命令。如果函数执行不成功,则返回FALSE。如果SQL语句为空,则不做任何操作并返回TRUE。如果SQL语句为不期待返回数据的命令,且执行成功,则返回TRUE。如果SQL语句有数据结果(如SELECT语句),则返回值为一个数组(array),数组的第一维是行,第二维是列。数据可以按照列名索引,也可以按照列号索引。就是说,如果调用
 +
 
 +
$result = $dbinstance->run('SELECT id,name FROM school WHERE age > 20');
 +
 
 +
返回
 +
 
 +
{|
 +
! id || name
 +
|-
 +
| 0031 || Tom
 +
|-
 +
| 0045 || Mike
 +
|}
 +
 
 +
则$result[1][1]或$result[1][name]都可以得到Mike。
 +
 
 +
mixed '''get'''(string $table, string $cols, [string $condition]): 运行SELECT $cols FROM $table [WHERE $condition],返回如'''run'''成员函数所描述的数据数组(可能为二维空数组)。$table、$cols、$condition都可以是很复杂的字符串,只要组成的SELECT语句合法即可。当运行出错时返回FALSE。注意:当无条件返回所有行的数据、却希望对结果有所处理(如排序),不能调用$dbinstance->get('table', 'id,name', 'oRDER BY id'),因为这样会形成“WHERE ORDER BY id”这样的非法SQL语句。解决方法是把$condition写为'TRUE ORDER BY id'。
 +
 
 +
int '''count'''(string $table, string $col, [string $condition]): 运行SELECT COUNT($col) FROM $table [WHERE $condition],返回符合条件的记录的个数(可能为0)。当执行出错时返回FALSE。
 +
 
 +
bool '''insert'''(string $table, array $row[col => value]): 将$row所包含的数据插入$table。$row是一个数组,含有col=>value结对的数据。如['id' => '0031', 'name' => 'Tom']。如果操作成功则返回TRUE,否则返回FALSE。
 +
 
 +
bool '''update'''(string $table, array $values[col => value], string $condition): 按照$condition所指定的条件对$table执行UPDATE操作。$values的每个元素都是col=>value结对的数据。如果操作成功则返回TRUE,否则返回FALSE。鉴于此函数的大规模破坏潜能,$condition是必需参数(可使用'TRUE'来明确指明“是的,我要改变所有的行”)。
 +
 
 +
bool '''delete'''(string $table, string $condition): 按照$condition所指定的条件对$table执行DELETE操作。操作成功返回TRUE,否则返回FALSE。鉴于此函数的大规模破坏潜能,$condition是必需参数(可使用'TRUE'来明确指明“是的,我要删除所有的行”)。
 +
 
 +
bool '''lock'''(string $tblread, string $tblwrite): 对$tblread指明的表格上读锁,对$tblwrite指明的表格上写锁。如果操作成功则返回TRUE,否则返回FALSE。
 +
 
 +
bool '''unlock'''(): 释放此例程所上的所有锁。如果成功则返回TRUE,否则返回FALSE。
 +
 
 +
void '''close'''(): 释放所有的锁,断开数据库连接,重置所有成员数据。此函数也被DB类的析构函数所调用。

2013年12月22日 (日) 06:09的最新版本

Classes

Class DB

初始化(以下两种调用是等价的):

$dbvar = new DB("dbname");

$dbvar = new DB();
$dbvar->usedb("dbname");

public $err: 存储刚刚失败的数据库操作错误信息。如果刚刚的数据库操作是成功的,则err被重置为空字符串。当此字符串不为空时,它的格式是,一个短代码(如DBOPERR),后面跟一个空格,后面再跟mysqli类库的error成员字符串内容(易于理解的文本)。

bool open([string $db]): 连通Mnemi数据库服务器,并(如果$db为非空字符串)使用$db所指定的数据库。如果连接成功则返回TRUE,否则返回FALSE。此函数也被DB类的构造函数所调用。

bool usedb(string $db): 使用$db所指定的数据库,即以后的操作默认在此数据库执行。如果函数成功则返回TRUE,否则返回FALSE。

mixed run(string $sql): 运行SQL命令。如果函数执行不成功,则返回FALSE。如果SQL语句为空,则不做任何操作并返回TRUE。如果SQL语句为不期待返回数据的命令,且执行成功,则返回TRUE。如果SQL语句有数据结果(如SELECT语句),则返回值为一个数组(array),数组的第一维是行,第二维是列。数据可以按照列名索引,也可以按照列号索引。就是说,如果调用

$result = $dbinstance->run('SELECT id,name FROM school WHERE age > 20');

返回

id name
0031 Tom
0045 Mike

则$result[1][1]或$result[1][name]都可以得到Mike。

mixed get(string $table, string $cols, [string $condition]): 运行SELECT $cols FROM $table [WHERE $condition],返回如run成员函数所描述的数据数组(可能为二维空数组)。$table、$cols、$condition都可以是很复杂的字符串,只要组成的SELECT语句合法即可。当运行出错时返回FALSE。注意:当无条件返回所有行的数据、却希望对结果有所处理(如排序),不能调用$dbinstance->get('table', 'id,name', 'oRDER BY id'),因为这样会形成“WHERE ORDER BY id”这样的非法SQL语句。解决方法是把$condition写为'TRUE ORDER BY id'。

int count(string $table, string $col, [string $condition]): 运行SELECT COUNT($col) FROM $table [WHERE $condition],返回符合条件的记录的个数(可能为0)。当执行出错时返回FALSE。

bool insert(string $table, array $row[col => value]): 将$row所包含的数据插入$table。$row是一个数组,含有col=>value结对的数据。如['id' => '0031', 'name' => 'Tom']。如果操作成功则返回TRUE,否则返回FALSE。

bool update(string $table, array $values[col => value], string $condition): 按照$condition所指定的条件对$table执行UPDATE操作。$values的每个元素都是col=>value结对的数据。如果操作成功则返回TRUE,否则返回FALSE。鉴于此函数的大规模破坏潜能,$condition是必需参数(可使用'TRUE'来明确指明“是的,我要改变所有的行”)。

bool delete(string $table, string $condition): 按照$condition所指定的条件对$table执行DELETE操作。操作成功返回TRUE,否则返回FALSE。鉴于此函数的大规模破坏潜能,$condition是必需参数(可使用'TRUE'来明确指明“是的,我要删除所有的行”)。

bool lock(string $tblread, string $tblwrite): 对$tblread指明的表格上读锁,对$tblwrite指明的表格上写锁。如果操作成功则返回TRUE,否则返回FALSE。

bool unlock(): 释放此例程所上的所有锁。如果成功则返回TRUE,否则返回FALSE。

void close(): 释放所有的锁,断开数据库连接,重置所有成员数据。此函数也被DB类的析构函数所调用。