自学PHP,这几天学到了连接数据库,干脆把MySQLI的API全过一遍吧!

MySQLI
    代表PHP和Mysql数据库之间的一个连接。
    1.mysqli::affected_rows :
        返回影响到数据表的行数

<?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$sql="insert into t_member values('马六','maliu')";$con->query($sql);echo $con->affected_rows;?>

2.mysqli::autocommit :
        查看 MySQL 客户端的事务提交方式命令:select @@autocommit;
        修改 MySQL 客户端的事务提交方式为手动提交命令:set @@autocommit = 0;
        关闭自动提交的原因,事务作为一个独立处理最小单元,往往需要处理一系列连续的数据操作,这些操作被视为一个整体,需要同时成功或同时失败,而不能其中某个操作成功;比如:A汇款给B,B接收到歀;即 A的账户扣款,而B的账户增加;必须同时成功或同时失败;如果成功则commit否则整体回滚;只对局部(当前命令行窗口)有效;若全局有效得修改文件;
        
        下面代码如果不加带星号那行代码,则数据不会插入到表中,但会存在缓存里,然后select会从缓存里取结果,结果里会含有刚刚存入缓存里的数据,但是没有插入到表中。如果程序结束而没有commit,数据就不会存入到数据表中;如果加了带星号的那行代码,则不上面事务做任何处理

    <?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$con->autocommit(false);$sql="insert into t_member values('wewwwwww','aliu')";$con->query($sql);*    $con->rollback();$sql="select * from t_member";$result=$con->query($sql);while($row=$result->fetch_row()){print_r($row);}?>

3.mysqli::begin_transaction :
        等同于上一个的功能;

<?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$con->begin_transaction();$sql="insert into t_member values('b','aliu')";$con->query($sql);$con->commit();//此处不可改为autocommit(true),这就是说$con->begin_transaction()不等于将autocommit()的值设为false?>

4.mysqli::change_user;
        改变当前所连接的数据库

$con->change_user("root","123456","sys");//转到了sys数据库

5.mysqli::character_set_name :
        返回当前数据库连接的默认字符编码
    6.mysqli::close :

 $con->close();不需要参数,过程化如mysqli_close()需要参数

7.mysqli::commit()
        提交事务
    8.mysqli::$connect_errno
        返回连接数据库时的错误代码
    9.mysqli::$connect_errno
        返回连接数据库时的错误字符串,即描述信息
    10.mysqli::__construct
        mysqli的构造函数,当new mysqli的构造函数,当new对象的时候,自动调用
    11.mysqli::errno
        返回最近函数调用的错误代码,$con->errno 注意没有括号
    12.mysqli::$error_list
        返回最近函数调用的一系列错误信息,包含错误代码,sqlstate,错误描述,以数组返回,可以利用print_r输出
    13.mysqli::$error
        返回最近函数调用的错误描述信息
    14.mysqli_$field_count
        返回最近查询的列数,注意是列数
    15.mysqli::get_charset
        得到一个含有指定字符集的对象,可以用var_dump()来输出这个对象,因为不是数组所以不能用print_r
    16.mysqli::$client_info
        获取MySQL客户端信息
    17.mysqli::$client_version
        作为一个整数返回MySQL客户端的版本
    18.mysqli::get_connection_stats
        返回客户端连接的统计数据,数组形式
    19.mysqli::$host_info
        返回一个表述使用的连接类型的字符串
    20.mysqli::$protocol_version
        返回MySQL使用的协议版本号
    21.mysqli::init
        初始化 MySQLi 并返回一个资源类型的值,这个值可以作为 mysqli_real_connect() 函数的传入参数,mysqli::real_connect()不需要这种资源类型的值
    22.mysqli::$insert_id
        函数返回最后一个 SQL 语句(通常是 INSERT 语句) 所操作的表中设置为 AUTO_INCREMENT 的列的值。 如果最后一个 SQL 语句不是 INSERT 或者 UPDATE 语句, 或者所操作的表中没有设置为 AUTO_INCREMENT 的列, 返回值为 0。
        Note:

如果在所执行的 INSERT 或者 UPDATE 语句中使用了数据库函数 LAST_INSERT_ID()。 有可能会影响 mysqli_insert_id() 函数的返回值。
    23.mysqli::kill
         本函数可以用来让服务器杀掉 processid 参数指定的 线程 ID。数据库连接对应的线程 ID 可以通过 调用 mysqli::$thread_id 得到。如果仅仅想中止某个查询,请使用这个 SQL 语句: KILL QUERY processid。

<?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$id=$con->thread_id;$con->kill($id);$sql="select * from t_member where name='b'";$ree=$con->query($sql);?>

24.mysqli::multi_query
        用来一次执行多条语句的函数

 <?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member where name='b';";//注意每一条语句都以分号结尾$sql.="select * from t_member where name='c'";/* 批量执行查询 */if ($con->multi_query($sql)) {    //判断此函数执行是否成功do {/* store first result set */if ($result = $con->store_result()) {    //用来获取多条查询结果中的第一条查询的结果,这个结果非数组和query得到的是一样的 所以还得用mysqli_result中的方法while ($row = $result->fetch_row()) {    //用fetch_row来得到结果集中的第一行,虽然只有一行printf("%s\n", $row[0]);}}/* print divider */if ($con->more_results()) {printf("-----------------\n");}} while (@$con->next_result());//为读取下一个结果集作准备}?>

25.mysqli::more_results
        检查批量查询中是否还有查询结果
    26.mysqli::next_result
        mysqli::multi_query() 函数执行之后, 为读取下一个结果集做准备, 然后可以使用 mysqli::store_result() 或 mysqli::use_result() 函数读取下一个结果集。
    27.mysqli::options
        设置一个连接的扩展选项,这些选项可以改变这个连接的行为。
        如果要对多个选项进行设置,可以多次调用此函数来。
        mysqli::options() 需要在 mysqli::init() 函数之后、 mysqli::real_connect() 函数之前被调用。
      ---------------------------------------------------------------------------------------------------------------
      |    MYSQLI_OPT_CONNECT_TIMEOUT     连接超时设置,以秒为单位(在 Windows 平台上,PHP 5.3.1 之后才支持此选项)。     |
      |    MYSQLI_OPT_LOCAL_INFILE     启用或禁用 LOAD LOCAL INFILE 语句                                                |
      |    MYSQLI_INIT_COMMAND     成功建立 MySQL 连接之后要执行的 SQL 语句                                            |
      |    MYSQLI_READ_DEFAULT_FILE     从指定的文件中读取选项,而不是使用 my.cnf 中的选项                              |
      |    MYSQLI_READ_DEFAULT_GROUP     从 my.cnf 或者 MYSQL_READ_DEFAULT_FILE 指定的文件中 读取指定的组中的选项。      |
      |    MYSQLI_SERVER_PUBLIC_KEY     SHA-256 认证模式下,要使用的 RSA 公钥文件。                                     |
      |    MYSQLI_OPT_NET_CMD_BUFFER_SIZE     内部命令/网络缓冲大小, 仅在 mysqlnd 驱动下有效。                           |
      |    MYSQLI_OPT_NET_READ_BUFFER_SIZE     以字节为单位,读取 MySQL 命令报文时候的块大小, 仅在 mysqlnd 驱动下有效 |
      |    MYSQLI_OPT_INT_AND_FLOAT_NATIVE     将整数和浮点数类型的列转换成 PHP 的数值类型, 仅在 mysqlnd 驱动下有效   |
      |    MYSQLI_OPT_SSL_VERIFY_SERVER_CERT                                                                             |
      ---------------------------------------------------------------------------------------------------------------

  <?php$mysqli = mysqli_init();if (!$mysqli) {die('mysqli_init failed');}if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {die('Setting MYSQLI_INIT_COMMAND failed');}if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');}if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());}echo 'Success... ' . $mysqli->host_info . "\n";$mysqli->close();?>

28.mysqli::ping
        检查到服务器的连接是否还正常。
        在启用 mysqli.reconnect 选项的前提下, 如果连接已经断开, ping 操作会尝试重新建立连接。
        Note: mysqlnd 驱动会忽略 php.ini 中的 mysqli.reconnect 选项, 所以它不会自动重连。
        客户端建立连接之后,长时间处于闲置状态, 可以用此函数来检查服务器是否关闭了这个连接, 如有必要,将会自动重新建立到服务器的连接。
    29.mysqli::prepare ( string $query )
        做好执行 SQL 语句的准备,返回一个语句句柄,可以对这个句柄进行后续的操作。 这里仅仅支持单一的 SQL 语句,不支持多 SQL 语句。
        在执行语句之前,需要使用 mysqli_stmt::bind_param() 函数 对占位符参数进行绑定。 同样,在获取结果之前,必须使用 mysqli_stmt::bind_result() 函数对返回的列值进行绑定。
        SQL 语句中可以包含一个或者多个问号(?) 表示语句的参数。
        SQL 语句中,仅允许在特定的位置出现问号参数占位符。 例如,在 INSERT 语句中的 VALUES() 子句中可以使用参数占位符,来表示对应列的值。也可以在 WHERE 字句中使用参数来表示 要进行比较的值。
        但是,并不是所有的地方都允许使用参数占位符, 例如对于表名、列名这样的 SQL 语句中的标识位置, 就不可以使用参数占位。 SELECT 语句中的列名就不可以使用参数。 另外,对于 = 这样的逻辑比较操作也不可以在两侧都使用参数, 否则服务器在解析 SQL 的时候就不知道该如何检测参数类型了。 也不可以在 NULL 条件中使用问号, 也就是说不可以写成:? IS NULL。 一般而言,参数也只能用在数据操作(DML)语句中, 不可以用在数据定义(DDL)语句中。

 <?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");if($bin=$con->prepare("select * from t_member where name=? and password=?")){//返回一个句柄,必须用一个派一个变量$name1="c";$password1="2";$bin->bind_param("ss",$name1,$password1);//绑定参数,除了第一个参数外不能用直接量,得用变量$bin->execute();//mysqli_stmt中的执行查询,不像Mysqli中的query返回的是一个对象,而是将查询的结果放在mysql服务器,等待fetch逐条来取,然后相应的绑定再bind_result中的各个变量中$bin->bind_result($name,$result);//将查询结果的列值绑定到变量,while($bin->fetch()){//获取查询结果的值printf("%s %s",$name,$result);}$bin->close();// 关于语句对象}?>

使用预处理的好处:
        (1)可以通过驱动让服务端缓存查询计划,从而提高查询效率;
        (2)可以防止SQL注入,自动转义一些特殊字符.
        坏处:
        (1)本地到一个连接,以便另一个连接不能再使用
        (2)存储函数中不能使用(存储过程是可以的)
        (3)有可能会导致“泄漏”如果你忘记释放它
    30.mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
        对数据库执行一次查询
        其后第二个参数默认为MYSQLI_STORE_RESULT,也可以是MYSQLI_USE    _RESULT,他们的区别是    mysql_use_result()的结果必须“一次性用完”,也就是说用它得到一个result后,必须反复用mysql_fetch_row()读取其结果直至该函数返回null为止,否则如果你再次进行mysql查询,会得到“Commands out of sync; you can't run this command now”的错误。        而mysql_store_result()得到result是存下来的,你无需把全部行结果读完,就可以进行另外的查询。比如你进行一个查询,得到一系列记录,再根据这些结果,用一个循环再进行数据库查询,就只能用mysql_store_result()。

<?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";$re=$con->query($sql,MYSQLI_USE_RESULT);$row=$re->fetch_row();printf("%s %s",$row[0],$row[1]);$sql="select * from t_member";$re=$con->query($sql,MYSQLI_USE_RESULT);$row=$re->fetch_row();printf("%s %s",$row[0],$row[1]);?>//这样会报错<?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";$re=$con->query($sql);while($row=$re->fetch_row()){printf("%s %s",$row[0],$row[1]);}?>//这样则不会

31.mysqli::real_connect
        建立一个 MySQL 服务器连接
      
    32.mysqli::real_escape_string
        根据当前连接的字符集,对于 SQL 语句中的特殊字符进行转义
        此函数用来对字符串中的特殊字符进行转义, 以使得这个字符串是一个合法的 SQL 语句。 传入的字符串会根据当前连接的字符集进行转义,得到一个编码后的合法的 SQL 语句。
        在调用 mysqli_real_escape_string() 函数之前, 必须先通过调用 mysqli_set_charset() 函数或者在 MySQL 服务器端设置字符集。 更多信息请参考 字符集。

 <?php// 假定数据库用户名:root,密码:123456,数据库:RUNOOB$con=mysqli_connect("localhost","root","123456","mysql");if (mysqli_connect_errno($con)){echo "连接 MySQL 失败: " . mysqli_connect_error();}$newname="菜鸟'";// 没有转义 $newname 中特殊字符,执行失败//mysqli_query($con,"INSERT into websites2 (name,password) VALUES ('$newname','$newname')");// 转义特殊字符$con->real_escape_string($newname);// 转义后插入,执行成功$re=$con->query("INSERT into websites2 (name,password) VALUES ('$newname','$newname')");if(!$re){echo $con->error;}mysqli_close($con);?>

33.mysqli::real_query
        执行一个mysql查询
        返回值是bool值

  <?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";;$re=$con->real_query($sql);var_dump($re);    ?>

34.mysqli::refresh
        刷新
    35.mysqli::rollback
        回退当前事务

 <?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$con->autocommit(false);$sql="insert into t_member values('m','m')";$con->query($sql);$con->rollback();$con->autocommit(true);$con->close();        ?>

36.mysqli::select_db
        选择用于数据库查询的默认数据库
    37.mysqli::set_charset
        这应该是首选的用于改变字符编码的方法,不建议使用mysqli_query()执行SQL请求的SET NAMES ...(如 SET NAMES utf8)。
    38.mysqli::$sqlstate
        返回一个包含 SQLSTATE 错误码的字符串,表示上一次 SQL 操作的错误。 错误码是由 5 个字符构成,'00000' 表示没有发生错误。 需要注意的是,并不是所有的 MySQL 错误都映射到 SQLSTATE 了, 未映射的错误消息使用 HY000(综合错误)表示。

  <?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$sql="CREATE TABLE City (ID INT, Name VARCHAR(30))";$re=$con->query($sql);if(!$re){printf("%s",$con->error);}if(!$re){printf("%s",$con->sqlstate);}$con->close();        ?>

39.mysqli::set_local_infile_default
        取消用户指定的回调函数
    40.mysqli_set_local_infile_handler
        设置 LOAD DATA LOCAL INFILE 命令的回调函数
    41.mysqli::stat
        获取当前系统状态信息

 <?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$sql="CREATE TABLE City (ID INT, Name VARCHAR(30))";$re=$con->query($sql);printf("%s",$con->stat());$con->close();        ?>

输出:Uptime: 105949 Threads: 1 Questions: 11908 Slow queries: 0 Opens: 723 Flush tables: 1 Open tables: 608 Queries per second avg: 0.112
    42.mysqli::stmt_init
        初始化一条语句并返回一个用于mysqli_stmt::prepare(调用)的对象

   <?php$con=new MySQLi("localhost","root","123456");$con->select_db("mysql");$con->stmt_init();$sql="select * from t_member";$pre=$con->prepare($sql);$pre->execute();$pre->bind_result($name,$result);while($row=$pre->fetch()){printf("%s %s",$name,$result);}?>

43.mysqli::store_result
        select语句查询之后的结果是出于缓存区的,转移上一次查询返回的结果集
        
        如果上一查询并不产生结果集(例如,执行了一个 INSERT 语句), 那么 mysqli_store_result() 会返回 FALSE。 如果读取结果集失败了,也会返回 FALSE。 如何区分是上面哪种情况导致此函数的调用返回了 FALSE? 你可以通过下面的方法来检测: mysqli_error() 返回了非空的字符串, mysqli_errno() 返回了非零值, 或者 mysqli_field_count() 返回了非零值, 都表示发生错误了。 还有一种可能的情况会导致此函数的调用返回 FALSE:上一次查询 mysqli_query() 本身是成功的, 但是由于返回的结果集太大,无法为其分配足够的内存来进行结果集转移。 如果 mysqli_field_count() 函数返回了一个非零值,那么表示 SQL 语句产生了一个非空的结果集。
        
        执行查询之后, 使用 mysqli_free_result() 函数来释放结果集所占用的内存, 是一个很有用的实战经验。 尤其是当使用 mysqli_store_result() 函数来转移数量较大的结果集的时候, 释放结果集内存的操作尤为重要。
    44.mysqli::$thread_id
        返回当前连接的线程 ID
         线程 ID 是每次连接都重新分配的,也就是说它和连接是紧密相关的, 如果某个连接异常断开了,然后重新建立了到数据库的连接, 这个线程 ID 就不再是原来的那个了,它会发生变化。可以通过执行 SQL 语句:KILL QUERY processid 来杀掉对应连接上正在执行的 SQL 语句。
    45.mysqli::thread_safe
        返回是否是线程安全的,如果是的话,返回TRUE,否则返回FALSE。
    46.mysqli::$warning_count
        返回最近一次连接所出现的警告条数
    
    
    
    
    
    
    
MySQLI::result
    代表从一个数据库查询中获取的结果集。
    1.mysqli_result::fetch_field
        从结果集中取得列信息并作为对象返回。自动指向下一个字段
            被返回的对象的属性为:

name - 列名
            table - 该列所在的表名
            max_length - 该列最大长度
            not_null - 1,如果该列不能为 NULL
            primary_key - 1,如果该列是 primary key
            unique_key - 1,如果该列是 unique key
            multiple_key - 1,如果该列是 non-unique key
            numeric - 1,如果该列是 numeric
            blob - 1,如果该列是 BLOB
            type - 该列的类型
            unsigned - 1,如果该列是无符号数
            zerofill - 1,如果该列是 zero-filled
    2.mysqli_result::current_field
        指向取得的结果集中的第一个字段,然后每次循环依次往后值

  <?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";$res=$con->query($sql);while($col=$res->fetch_field()){$current=$res->current_field;printf("col:     %d\n", $current);printf("Name:     %s\n", $col->name);printf("Table:    %s\n", $col->table);printf("max. Len: %d\n", $col->max_length);printf("Flags:    %d\n", $col->flags);printf("Type:     %d\n\n", $col->type);}?>

3.mysqli_result::data_seek
        将取得的结果集中的指针指向指定的行数,一开始是0

<?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";//注意每一条语句都以分号结尾$res=$con->query($sql);$res->data_seek(2);//此处就是将指针指向第2+1行$re=$res->fetch_row();printf("%s %s",$re[0],$re[1]);?>

4.mysqli_result::fetch_all([ int $resulttype = MYSQLI_NUM ])
        将结果集转换成数组,参数resulttype有MYSQLI_ASSOC(键值对应不包含数字角标值对应),MYSQLI_NUM(数字角标值对应不包含键值对应),MYSQLI_BOTH(两者都有)

 <?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";//注意每一条语句都以分号结尾$res=$con->query($sql);/*$post=$res->fetch_all( MYSQLI_BOTH);print_r($post);结果:Array ([0] => Array ( [0] => b [name] => b [1] => 5 [password] => 5 )[1] => Array ( [0] => c [name] => c [1] => 2 [password] => 2 )[2] => Array ( [0] => j [name] => j [1] => 2 [password] => 2 )[3] => Array ( [0] => m [name] => m [1] => m [password] => m )[4] => Array ( [0] => n [name] => n [1] => m [password] => m ))*//*$post=$res->fetch_all( MYSQLI_ASSOC);print_r($post);结果:Array ([0] => Array ( [name] => b [password] => 5 )[1] => Array ( [name] => c [password] => 2 )[2] => Array ( [name] => j [password] => 2 )[3] => Array ( [name] => m [password] => m )[4] => Array ( [name] => n [password] => m ))*//*$post=$res->fetch_all( MYSQLI_NUM);print_r($post);结果:Array ([0] => Array ( [0] => b [1] => 5 )[1] => Array ( [0] => c [1] => 2 )[2] => Array ( [0] => j [1] => 2 )[3] => Array ( [0] => m [1] => m )[4] => Array ( [0] => n [1] => m ))*/?>

5.mysqli_result::fetch_array
        从结果集中取得一行,作为数组,类型为BOTH,指针指向下一行

<?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";//注意每一条语句都以分号结尾$res=$con->query($sql);while($row=$res->fetch_array()){printf("%s %s",$row[0],$row[1]);}?>

6.mysqli_result::fetch_assoc
        从结果集中取得一行作为关联数组(键值数组即BOTH中非array的那一半),指针指向下一行
    7.mysqli_result::fetch_fields
        返回结果集中每一行的字段信息,以数组返回;
    8.mysqli_result::fetch_object
        将结果集的一行作为对象返回
    9.mysqli_result::fetch_row
        从结果集中取得一行作为关联数组(键值数组即BOTH中非关联数组的那一半),指针指向下一行
    10.mysqli_result::$field_count
        获取结果中的字段数
    11.mysqli_result::free_result
        从结果集中取得行,然后释放结果内存

  <?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";//注意每一条语句都以分号结尾$res=$con->query($sql);while($array=$res->fetch_row()){print_r($array);    }$res->free_result();    //注意不是$array?>

12.mysqli_result::$num_rows
        获取结果集长度,在不需要转换成数组的情况下

   <?php$con=new mysqli("localhost","root","123456");$con->select_db("mysql");$sql="select * from t_member";//注意每一条语句都以分号结尾$res=$con->query($sql);echo $res->num_rows;?>

PHP面向对象操作数据库--MySQLI类相关推荐

  1. Mysqli面向对象操作数据库

    Mysqli面向对象操作数据库 首先配置一下数据库: 接着用PHP中的Mysqli扩展库面向对象查询这个数据表. 操作分为以下几个步骤: 连接数据库 操作数据库 处理结果 关闭资源 <?php$ ...

  2. php db类 应用实例,PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例

    本文实例讲述了PHP封装类似thinkphp连贯操作数据库Db类与简单应用.分享给大家供大家参考,具体如下: header("Content-Type:text/html;charset=u ...

  3. 【转载苏飞的博客】一个操作数据库的类(备份,还原,分离,附加,添加删除用户等操作)

    一个操作数据库的类(备份,还原,分离,附加,添加删除用户等操作)  by sufeinet, 地址: cnblogs.com/sufei/archive/2011/09/13/2174716.html ...

  4. C#.NET操作数据库通用类(MS SQL Server篇)

    下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...

  5. C#.NET操作数据库通用类

    下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...

  6. python操作数据库工具类

    <pre name="code" class="python">#!/usr/bin/python # -*- coding: utf-8 -*- ...

  7. SQL DBHelp.cs 操作数据库的底层类

    /// <summary> /// 操作数据库存储过程类 /// </summary> public class ExecProc { //取出数据库连接字符串 //publi ...

  8. 黄聪:使用Wordpress中的wpdb类操作数据库

    WordPress包含一个操作数据库的类--wpdb,该类基于ezSQL(由Justin Vincent维护的数据库操作项目)编写,包含了其基本的功能. 使用说明 请不要直接调用wpdb类中的方法.W ...

  9. 面向对象编程、模块内高内聚、模块间低耦合、数据库操作工具类

    一.web.config帮助类(ConfigHelper.cs) 1 using System; 2 using System.Configuration; 3 using System.Reflec ...

最新文章

  1. 网站的PV、UV、的统计 (awk 统计命令)
  2. Nutch2.x+Hadoop 2.5.2+Hbase0.94.26(续2)
  3. python缩进tab还是空格_Python码农有话说:写代码时应该缩进使用 tab还是空格?...
  4. java getattribute为空_Java TransMeta.getAttribute方法代码示例
  5. 华为HCIE7-中间系统到中间系统的路由泄露、防环、认证和优化机制
  6. linux查看cpu缓存大小,如何在Linux中获取CPU Cache的大小
  7. html5画安卓机器人,HTML5用户笔画形状检测机器人
  8. Spring源码解析 -- SpringWeb请求映射Map初始化
  9. 数组和指针(sizeof两者的关系)
  10. ios icon尺寸问题
  11. 压测服务器性能上不去,JAVA性能优化思路探究
  12. XenServer 6.5实战系列之九:Creating a VM Template from a VM Snapshot
  13. 蓝牙技术|传统手表品牌加入智能手表竞争,智能手表市场持续火热
  14. 纯粹的Pure Storage,简单却又不简单
  15. HTML如何转化为canvas教程
  16. 网络发现已关闭网络计算机和设备不可见
  17. 救市重炮轮番轰炸 美欧央行联手将无限额注资
  18. 计算机页面新建,电脑PS如何新建多个画布并使其显示在一个界面
  19. 2020 年移动开发趋势
  20. 第二届“中科实数杯”全国电子数据取证 wp

热门文章

  1. 二分法解一元二次方程
  2. html矩形变圆角,CorelDRAW中将矩形变圆角的方法
  3. linux 上u盘打不开,U盘插在电脑上有显示,但是打不开,怎么办?
  4. 易中天先生最搞笑的语录
  5. 关于验证表单插件Validform的用法
  6. Python将flv格式转化为avi
  7. 【MySQL】数据库维护
  8. 6月股改解禁情况一览
  9. android shell检查是否锁屏_锁屏状态下的华为手机不显示消息?这样设置!
  10. P1042 乒乓球(模拟,字符串,不指定输入,洛谷,java)