第十三招 PHP之MySQLi简易操作数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lwqBrell/article/details/85614787

图解

MySQLi

 

建立连接

第一种方式:先建立连接后选择数据库。

<?php
$mysqli=new mysqli('localhost','root','root');
$mysqli->select_db('database');
?>

第二种方式:建立连接并指定数据库。

<?php
$mysqli=new mysqli('localhost','root','root','database');
?>

第三种方式:建立连接后通过connect来打开数据库。

<?php
$mysqli=new mysqli();
$mysqli->connect('localhost','root','root','database');
?>

建立连接后可以查看有无错误信息

<?php
echo $mysqli->connect_errno;   //错误编号
echo $mysqli->connect_error;   //错误信息
?>

设置字符集

建立连接后可以使用set_charset()成员函数进行设置字符集。

<?php
$mysqli->set_charset('uf8');
?>

执行SQL语句

跟MySQL客户端类似,PHP要操作数据库,首先把SQL语句写好,然后调用query方法进行操作。

<?php
$mysqli=new mysqli('localhost','root','root','article');
$mysqli->set_charset('utf8');
$sql="SELECT * FROM user";
$result=$mysqli->query($sql);
print_r($result);
?>

 打印出来的结果如下:

mysqli_result Object
(
    [current_field] => 0
    [field_count] => 2
    [lengths] => 
    [num_rows] => 1
    [type] => 0
)

对于结果集的操作

fetch_row():以索引数组的形式返回一条记录。

例如:当结果集中有记录时,以索引数组的形式遍历整个结果集。

if( $result && $result->row_nums>0){
 var_dump($result->fetch_row());
}

fetch_assoc():以关联数组的形式返回一条记录。

例如:当结果集中有记录时,以关联数组的形式遍历整个结果集。

if( $result && $result->row_nums>0){
 var_dump($result->fetch_assoc());
}

释放结果集

当使用完查询结果之后,我们可以使用free()成员函数进行释放结果集。

<?php
$mysqli=new mysqli('localhost','root','root','brell');
$mysqli->set_charset('utf8');
$sql="SELECT * FROM user";
$result=$mysqli->query($sql);
$result->free();
?>

关闭连接

当操作数据库完毕后可以使用close成员函数进行关闭数据库连接。

<?php
$mysqli->close();
?>

MySQLi类参考

class mysqli {
/* 属性 */
int $affected_rows;
int $connect_errno;
string $connect_error;
int $errno;
array $error_list;
string $error;
int $field_count;
string $client_info;
int $client_version;
string $host_info;
string $protocol_version;
string $server_info;
int $server_version;
string $info;
mixed $insert_id;
string $sqlstate;
int $thread_id;
int $warning_count;
/* 方法 */
int mysqli_affected_rows ( mysqli $link )
bool autocommit ( bool $mode )
public bool begin_transaction ([ int $flags = 0 [, string $name ]] )
bool change_user ( string $user , string $password , string $database )
string character_set_name ( void )
bool close ( void )
bool commit ( void )
int mysqli_connect_errno ( void )
string mysqli_connect_error ( void )
void connect ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )
bool debug ( string $message )
bool dump_debug_info ( void )
int mysqli_errno ( mysqli $link )
array mysqli_error_list ( mysqli $link )
string mysqli_error ( mysqli $link )
int mysqli_field_count ( mysqli $link )
object get_charset ( void )
string get_client_info ( void )
int mysqli_get_client_version ( mysqli $link )
bool get_connection_stats ( void )
string mysqli_get_host_info ( mysqli $link )
int mysqli_get_proto_info ( mysqli $link )
string mysqli_get_server_info ( mysqli $link )
int mysqli_get_server_version ( mysqli $link )
mysqli_warning get_warnings ( void )
string mysqli_info ( mysqli $link )
mysqli init ( void )
mixed mysqli_insert_id ( mysqli $link )
bool kill ( int $processid )
bool more_results ( void )
bool multi_query ( string $query )
bool next_result ( void )
bool options ( int $option , mixed $value )
bool ping ( void )
public static int poll ( array &$read , array &$error , array &$reject , int $sec [, int $usec ] )
mysqli_stmt prepare ( string $query )
mixed query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
bool real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )
string escape_string ( string $escapestr )
bool real_query ( string $query )
public mysqli_result reap_async_query ( void )
public bool refresh ( int $options )
public bool release_savepoint ( string $name )
bool rollback ( void )
int rpl_query_type ( string $query )
public bool savepoint ( string $name )
bool select_db ( string $dbname )
bool send_query ( string $query )
bool set_charset ( string $charset )
void mysqli_set_local_infile_default ( mysqli $link )
bool set_local_infile_handler ( mysqli $link , callable $read_func )
string mysqli_sqlstate ( mysqli $link )
bool ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )
string stat ( void )
mysqli_stmt stmt_init ( void )
mysqli_result store_result ([ int $option ] )
int mysqli_thread_id ( mysqli $link )
bool mysqli_thread_safe ( void )
mysqli_result use_result ( void )
int mysqli_warning_count ( mysqli $link )
}
mysqli::$affected_rows — Gets the number of affected rows in a previous MySQL operation
mysqli::autocommit — 打开或关闭本次数据库连接的自动命令提交事务模式
mysqli::begin_transaction — Starts a transaction
mysqli::change_user — Changes the user of the specified database connection
mysqli::character_set_name — 返回当前数据库连接的默认字符编码
mysqli::close — 关闭先前打开的数据库连接
mysqli::commit — 提交一个事务
mysqli::$connect_errno — Returns the error code from last connect call
mysqli::$connect_error — Returns a string description of the last connect error
mysqli::__construct — Open a new connection to the MySQL server
mysqli::debug — Performs debugging operations
mysqli::dump_debug_info — 将调试信息输出到日志
mysqli::errno — 返回最近函数调用的错误代码
mysqli::$error_list — Returns a list of errors from the last command executed
mysqli::$error — Returns a string description of the last error
mysqli::$field_count — Returns the number of columns for the most recent query
mysqli::get_charset — Returns a character set object
mysqli::$client_info — 获取 MySQL 客户端信息
mysqli_get_client_version — 作为一个整数返回MySQL客户端的版本
mysqli::get_connection_stats — 返回客户端连接的统计数据
mysqli::$host_info — 返回一个表述使用的连接类型的字符串
mysqli::$protocol_version — 返回MySQL使用的协议版本号
mysqli::$server_info — 返回MySQL服务器的版本号
mysqli::$server_version — 作为一个整数返回MySQL服务器的版本
mysqli::get_warnings — Get result of SHOW WARNINGS
mysqli::$info — 返回最近执行的 SQL 语句的信息
mysqli::init — 初始化 MySQLi 并返回一个资源类型的值,这个值可以作为 mysqli_real_connect() 函数的传入参数
mysqli::$insert_id — 返回最后一条插入语句产生的自增 ID
mysqli::kill — 让服务器杀掉一个 MySQL 线程
mysqli::more_results — 检查批量查询中是否还有查询结果
mysqli::multi_query — 执行查询
mysqli::next_result — 为读取 multi_query 执行之后的下一个结果集做准备
mysqli::options — 设置选项
mysqli::ping — ping 一个连接,或者如果连接处于断开状态,重新连接
mysqli::poll — 轮询连接
mysqli::prepare — 准备执行一个 SQL 语句
mysqli::query — 对数据库执行一次查询
mysqli::real_connect — 建立一个 MySQL 服务器连接
mysqli::real_escape_string — 根据当前连接的字符集,对于 SQL 语句中的特殊字符进行转义
mysqli::real_query — 执行一个mysql查询
mysqli::reap_async_query — 获取异步查询的结果
mysqli::refresh — 刷新
mysqli::release_savepoint — 从当前事务的保存点中移除一个命名保存点
mysqli::rollback — 回退当前事务
mysqli::rpl_query_type — 返回 RPL 查询类型
mysqli::savepoint — 在当前事务中增加一个命名保存点
mysqli::select_db — 选择用于数据库查询的默认数据库
mysqli::send_query — 发送请求并返回结果
mysqli::set_charset — 设置默认字符编码
mysqli::set_local_infile_default — 取消用户指定的回调函数
mysqli::set_local_infile_handler — 设置 LOAD DATA LOCAL INFILE 命令的回调函数
mysqli::$sqlstate — 返回上一次 SQL 操作的 SQLSTATE 错误信息
mysqli::ssl_set — 使用 SSL 建立到数据库之间的安全连接
mysqli::stat — 获取当前系统状态信息
mysqli::stmt_init — 初始化一条语句并返回一个用于mysqli_stmt_prepare(调用)的对象
mysqli::store_result — 转移上一次查询返回的结果集
mysqli::$thread_id — 返回当前连接的线程 ID
mysqli::thread_safe — 返回是否是线程安全的
mysqli::use_result — Initiate a result set retrieval
mysqli::$warning_count — Returns the number of warnings from the last query for the given link

猜你喜欢

转载自blog.csdn.net/lwqBrell/article/details/85614787