php连接MySQL数据库的两种编码方式
PHP连接MySQL数据库的方式
面向过程的编码风格
<?php
//
一、面向过程的编码风格
//1.PHP
与
MySQL
建立连接
/*
语法
mysqli_connect(host,username,passwd,dbname,port);
mysqli_connect()
方法具有返回值,返回值就是
PHP
与
MySQL
数据库建立连接的连接对象
*host - MySQL
数据库所在的计算机的
ip
地址
* username -
登陆
MySQL
数据库的用户名称
* passwd -
登陆
MySQL
数据库的用户密码(如果密码为空则写
“”
站位)
* dbname -
要操作的数据库的名称
* port - MySQL
数据库所使用的端口号(一般默认为
3306
,不建议修改哦)
*/
$connect = mysqli_connect('127.0.0.1','root','','bigspinach','3306');
//2.PHP
向
MySQL
数据库发送
sql
语句,并接收返回的结果
//2.1
编写
sql
语句
/*
*
增删改操作返回
Boolean
值
*
增:
INSERT INTO
表名
VALUES (
所有字段值
)
注意:主键自增字段需写成
NULL
INSERT INTO
表名
字段名
=
新字段值
WHERE
字段名
=
字段值
*
删:
DELETE FROM
表名
DELETE FROM
表名
WHERE
字段名
=
字段值
*
改
:
UPDATE
表名
SET
字段名
=
字段值
注意:这样修改会修改所有该字段的值
UPDATE
表名
SET
字段名
=
新字段值
WHERE
字段名
=
字段值
*
查操作返回
结果集对象
(
1
)基本查询
SELECT * FROM
表名
SELECT
字段名
1,
字段名
2,... FROM
表名
(
2
)条件查询
SELECT * FROM
表名
WHERE
字段值
=
字段名
(
3
)排序查询
SELECT * FROM
表名
ORDER BY
字段名
正序:
SELECT * FROM
表名
ORDER BY
字段名
ASC
倒序:
SELECT * FROM
表名
ORDER BY
字段名
DESC
(
4
)模糊查询
SELECT * FROM
表名
WHERE
字段名
LIKE "
字符串
%%"
字符串
%
字符串
(
5
)
LIMIT
(
MySQL
方言)
SELECT * FROM
表名
LIMIT [
位置偏移量
,]
行数
;
SELECT * FROM
表名
LIMIT 0,5;
查询第一行数据开始,显示
5
条
//
解析查询结果
(mysqli_result
对象
)
mysqli_result
对象
*
属性
* $field_count
字段数量
* $num_rows
多少条数据记录
*
方法
*(1) mysqli_fetch_array($result,[result]);
*$result -
结果集对象
* result -
解析为数组的返回数组的方式
* a.
关联数组
mysqli_assoc
;
* b
索引数组
mysqli_num
;
* c.
两种数组都返回
mysqli_both(
默认值
)
)
方法的具体使用
$arr=new array();
while($row=mysqli_fetch_array($result,num)){
array_push($arr,$row);
*$arr:
要压入的数组
* $row
:循环得到的每一条数据记录
}
*(2) mysqli_fetch_assoc($result)
该方法返回索引数组
方法的具体使用
$arr=new array();
while($row=mysqli_fetch_assoc($result)){
array_push($arr,$row);
}
*/
$sql = "DELETE FROM liukai ";//
删除名为
liukai
的数据表
//2.2
解决中文乱码问题
--
固定套路
mysqli_query($connect
连接对象
,'SET NAMES UTF8');
mysqli_query($connect,'SET NAMES UTF8');
//2.3
将
sql
语句发送给
MySQL
数据库,并接收其返回的结果
$result = mysqli_query($connect,$sql);
//3.PHP
与
MySQL
数据库关闭连接
mysqli_close($connect);
?>
化繁为简
<?php
//1.
建立连接
$connect=mysqli_connect('localhost','root','','bigspinach','3306');
//2.
定义
sql
语句
$sql='select * from liukai';
mysqli_query($connect,'set names utf8');
//3.
发送
SQL
语句
$result=mysqli_query($connect,$sql);
$arr=array();//
定义空数组
while($row =mysqli_fetch_array($result)){
//var_dump($row);
//array_push(
要存入的数组,要存的值
)
array_push($arr,$row);
}
var_dump($arr);
//4.
关闭连接
mysqli_close($connect);
?>
面相对象的编码风格
<?php
//
面向对象的编码风格
//1.new
一个
mysqli(host,username,passwd,dbname,port)
对象
====
等同于建立连接
//2.
定义
sql
语句
//3.
调用
mysqli
对象
的
query($sql)
方法并得到其返回结果值
//4.
调用
mysqli
对象
的
close()
方法关闭连接
$mysqli = new mysqli('127.0.0.1','root','','bigspinach','3306');
$sql = "select * from where
姓名
= liukai ";
$mysqli -> query('set names utf8');
$mysqli -> query($sql);
$mysqli -> close();
?>