PHP连接Mysql的几种方法

PHP连接Mysql之天龙八部(老式的连接数据库,快要被淘汰了,以后都是PDO方式)

1. 连接数据库

$link = @mysql_connect('localhost','root','123456');

2. 判断错误

1
2
3
4
5
6
//mysql_errno() 返回错误号
//mysql_error() 返回错误信息
if(mysql_errno()){
echo mysql_errno().':'.mysql_error();
exit;
}

3. 选择数据库

mysql_select_db('s33');

4.设置字符集

mysql_set_charset('utf8');

5.准备sql语句

$sql = "SELECT * FROM user";

6. 发送sql语句

$result = mysql_query($sql);

7. 处理结果集

1
2
3
4
5
6
//mysql_fetch_array(); 将查询的记录以混合数组的形式返回 每次返回一条
//mysql_fetch_assoc(); 将查询的记录以关联数据的形式返回 每次返回一条
//mysql_fetch_row(); 将查询的记录以索引数据的形式返回 每次返回一条
while ($rows = mysqli_fetch_assoc($result)) {
var_dump($rows);
}

8.关闭资源 关闭数据库

mysql_close($link);

PHP用Mysqli连接Mysql方法之面向过程的风格(Mysqli方法介于面向过程和面向对象之间的过渡方法)

1.连接mysql 并 选择数据库

$mysqli = mysqli_connect("localhost", "root", "123456", "s33") or die('连接失败!');

2.设置字符集

mysqli_query($mysqli, "set names utf8");

3.准备sql语句

$sql = "SELECT * FROM user";

4.发送sql语句

$result = mysqli_query($mysqli, $sql);

5. 处理结果集

1
2
3
4
5
6
//mysql_fetch_array(); 将查询的记录以混合数组的形式返回 每次返回一条
//mysql_fetch_assoc(); 将查询的记录以关联数据的形式返回 每次返回一条
//mysql_fetch_row(); 将查询的记录以索引数据的形式返回 每次返回一条
while ($rows = mysqli_fetch_assoc($result)) {
var_dump($rows);
}

6.关闭资源 关闭数据库

mysql_close($mysqli);

PHP用Mysqli连接Mysql方法之面向对象的风格

1.连接mysql 并 选择数据库

$mysqli = new Mysqli("localhost", "root", "123456", "s33");

2.判断对错

1
2
3
if ($mysqli->errno) {
echo "连接失败:".$mysqli->error;
}

3.设置字符集

$mysqli->query("set names utf8");

4.定义发送sql语句

$result = $mysqli->query("SELECT * FROM user");

5. 处理结果集

1
2
3
4
5
6
//mysql_fetch_array(); 将查询的记录以混合数组的形式返回 每次返回一条
//mysql_fetch_assoc(); 将查询的记录以关联数据的形式返回 每次返回一条
//mysql_fetch_row(); 将查询的记录以索引数据的形式返回 每次返回一条
while ($rows = mysqli_fetch_assoc($result)) {
var_dump($rows);
}

6.关闭资源 关闭数据库

mysql_close($mysqli);

PHP用PDO连接Mysql方法

1.写一个PDO配置文件放数据库信息pdoconfig.php

1
2
3
4
5
6
<?php
//pdo 配置
define("DSN", "mysql:host=localhost;dbname=s33");
define("USER", "root");
define("PASS", "123456");
?>

2.PDO连接方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
header('Content-type:text/html;charset=utf-8');
require "pdoconfig.php";
try {
//实例化pdo
$pdo = new PDO(DSN, USER, PASS);
//设置字符集
$pdo->exec("set names utf8");
}catch (PDOException $e) {
echo $e->getMessage();
exit;
}

//定义sql
$sql = "INSERT INTO user (name,sex,grade) VALUE(:n,:s,:g)";
//预处理
$stmt = $pdo->prepare($sql);

$name = "艳艳";
$sex = "m";
$grade = "s33";
//绑定参数
$stmt->bindParam(':n', $name, PDO::PARAM_STR);
$stmt->bindParam('s', $sex);
$stmt->bindParam(':g', $grade);
//执行
$stmt->execute();

//影响行数 和 自增id
$rows = $stmt->rowCount();
$id = $pdo->lastInsertId();

echo "共插入 {$rows} 条,自增id为:{$id}<br>";

//关闭连接
//PDO没有提供关闭连接的方法
//unset(PDO对象);
//$pdo = null;
unset($pdo);

PHP操作sqllit方法(sqllit是一款轻型的数据库,零配置,无需安装和管理配置)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
//操作sqllit

header('Content-type:text/html;charset=utf-8');

try {
//实例化pdo 直接写数据库文件的路径没有用户密码主机名什么的
$pdo = new PDO('sqlite:C:\www\s33\yanyan.sqlite3');
//设置字符集
$pdo->exec("set names utf8");
}catch (PDOException $e) {
echo $e->getMessage();
exit;
}
//定义sql
$sql = "INSERT INTO user VALUES(null,?,?)"; //user表里三个字段:id,name,grade
//预处理
$stmt = $pdo->prepare($sql);

$stmt->execute(array('小艳艳', '地球'));

echo $stmt->rowCount();
//关闭连接
//PDO没有提供关闭连接的方法
//unset(PDO对象);
//$pdo = null;
unset($pdo);

本文出自 “小风博客” BY:小风 如果你喜欢,转载请务必保留此出处^_^
小风博客  http://www.xfphp.cn  小风网络 http://www.hotxf.com