Myslqi扩展php
链接数据库模板html
<?phpmysql
/* Connect to a MySQL server 链接数据库服务器 */web
$link = mysqli_connect(sql
'localhost', /* The host to connect to 链接MySQL地址 */数据库
'jian', /* The user to connect as 链接MySQL用户名 */数组
'123456', /* The password to use 链接MySQL密码 */服务器
'jian'); /* The default database to query 链接数据库名称*/socket
)函数
if (!$link) {
printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());
exit;
}else
echo '数据库链接上了!';
/* Close the connection 关闭链接*/
mysqli_close($link);
?>
数据库链接的天龙八步:
一、链接数据库
链接:mysqli_connect
二、成功与否判断
链接错误号:mysqli_connect_errno
链接错误信息:mysqli_connect_error
三、选择数据库
选择库:mysqli_select_db
执行错误号:mysqli_errno
执行错误信息:mysqli_error
四、设置字符集
mysqli_set_charset
五、准备SQL语句
说明:符合SQL语法的任意语句
六、执行SQL语句
执行:mysqli_query
七、处理数据
查询时返回查询到数据行数:mysqli_num_rows
数据操做是影响的行数:mysqli_affected_rows
mysqli_fetch_row:获取一条数据的索引数组
mysqli_fetch_assoc:获取一条数据的关联数组
mysqli_fetch_array:获取一条数据的指定数组,
mysqli_fetch_all:获取结果集中的全部数据,
类型取决于第二个参数
第二个参数:MYSQLI_NUM(索引数组)
MYSQLI_ASSOC(关联数组)
MYSQLI_BOTH(索引和关联都有)
八、释放资源、关闭链接
释放资源:mysqli_free_result
关闭链接:mysqli_close
示例:
// 一、链接数据库
$link = @mysqli_connect('localhost','root','123456');
// 二、成功与否判断
if (!$link) {
exit('error('.mysqli_connect_errno().'):'.mysqli_connect_error());
//die 该函数是 exit() 函数的别名。
}
// 三、选择数据库
if (!mysqli_select_db($link,'test')) {
echo 'error('.mysqli_errno($link).'):'.mysqli_error($link);
mysqli_close($link);
die;
}
// 四、设置字符集
mysqli_set_charset($link,'utf8');
设置从数据库服务器发送数据到数据库服务器时使用的默认字符集。
// 五、准备SQL语句
$sql = 'select * from star where id > 100';
// 六、执行SQL语句
$result = mysqli_query($link,$sql);
if ($result && mysqli_num_rows($result)) {
// 七、处理数据
/
mysqli_fetch_row:获取一条数据的索引数组
mysqli_fetch_assoc:获取一条数据的关联数组
mysqli_fetch_array:获取一条数据的指定数组,
类型取决于第二个参数
mysqli_fetch_all:获取结果集中的全部数据,
类型取决于第二个参数
第二个参数:MYSQLI_NUM(索引数组)
MYSQLI_ASSOC(关联数组)
MYSQLI_BOTH(索引和关联都有)
var_dump(mysqli_fetch_all($result,MYSQLI_ASSOC));
/
while ($row = mysqli_fetch_array($result,MYSQLI_NUM)) {
var_dump($row);
}
} else {
}
// 八、释放资源、关闭链接
mysqli_free_result($result);
mysqli_close($link);
具体实现
//链接数据库操做
//链接数据库,并经过$link保存连接
$link = mysqli_connect('localhost','root','','project5');
Mysqli_connect(主机名/IP,用户名,密码,数据库名,端口号,socket通讯);
Mysqli_connect 函数有六个参数,当省略参数时自动使用php.ini中配置的默认值
当数据库链接失败时,mysqli_connect提示的错误信息并不友好。能够经过下面的方式解决
$link = @mysqli_connect('localhost','root','','project5') or exit('数据库链接失败');
@用于屏蔽错误信息,or是比较运算符,只有当左边表达式为false时才会执行右边的表达式,‘exit’用于中止脚本,同时能够输出错误信息。
当须要详细信息时,能够经过mysqli_connect_error()函数获取。
下面我用两种方式打印保存的链接$link
echo "<pre>";
print_r($link);
var_dump($link);
在使用命令行工具操做数据库时,须要使用SET NAMES 设置字符集
在PHP中也须要设置字符集
mysqli_set_charset() 函数规定当与数据库服务器进行数据传送时要使用的默认字符集。
mysqli_set_charset($link,'utf8'); //成功返回true失败返回false
只有保持PHP脚本文件、web服务器返回的编码、网页的<meta>标记、PHP访问Mysql使用的字符集集多统一时才能避免中文乱码问题。
https://www.jb51.net/article/22501.htm(具体文档)
php页面为utf编码
header("Content-type: text/html; charset=utf-8");
<meta charset="UTF-8">//网页为uft8编码
设置查询的数据为utf8字符集(set names utf8同时设置客户端字符集,链接层字符集和查询结果(如结果集或错误消息)返回给客户端的字符集)
mysqli_query($link,"set names utf8");//PHP访问Mysql使用的字符集
mysqli_query() 函数执行某个针对数据库的查询
https://blog.csdn.net/zhangfeng1133/article/details/46777883
$link = @mysqli_connect('localhost','root','','project5') or exit('数据库链接失败'); //数据库链接结果
mysqli_set_charset($link,'utf8'); //成功返回true失败返回false
mysqli_query($link,'use news'); //选择数据库(SQL语句方式)
mysqli_query($link,'set names utf8'); //设置字符集(SQL语句方式)
//执行SQL语句,并获取结果集
$result = myslqi_query($link,'show databases');
if(!$result){
exit('执行失败。错误信息:'.mysqli_error($link));
}
echo "<pre>";
print_r($result);
var_dump($result);
//处理结果集$result
mysql_num_rows($result) 从结果集中获取数据记录的个数
mysql_num_fields($result) 从结果集中获取数据记录列的个数
mysql_fetch_row() 该函数将一条结果记录返回,并以一个普通索引数组的形式保存
mysql_fetch_assoc() 该函数将一条结果记录返回,并以一个普通关联数组形式保存
mysql_fetch_array() 默认同时以索引数组和关联数组保存,三个参数MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH
mysql_fetch_object() 以一个对象的形式返回一条结果记录,他的各个字段须要以对象的形式进行访问
var_dump(mysqli_num_rows($result));(从结果集中获取数据记录的个数;结果以下)
H:\wamp\www\test\test.php:48:int 6
var_dump(mysqli_fetch_all($result)); //获取全部结果,并以数组方式返回
print_r(mysqli_fetch_all($result)); //这种方式看的比较直观
总结:
var_dump(mysqli_fetch_array($result));
var_dump(mysqli_fetch_assoc($result));
var_dump(mysqli_fetch_row($result));
从结果集中获取数据记录的个数