PHP连接Mysql之天龙八部(老式的连接数据库,快要被淘汰了,以后都是PDO方式)
1. 连接数据库
$link = @mysql_connect('localhost','root','123456');
2. 判断错误
1 2 3 4 5 6
|
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
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);
|
//查用户昵称,返回一个字段的数据
$sql = "SELECT name FROM user WHERE phone = '$user' ";
//预处理
$stmt = $pdo->prepare($sql);
$stmt->execute();
$name = $stmt->fetchColumn();
//查出自己的UID,返回一条数据
$sql_uid = "SELECT `id`,`client_id` FROM `xf_users` WHERE `client_id` = '$clientId'";
$stmt = $pdo->prepare($sql_uid);
$stmt->execute();
$uid = $stmt->fetch();
$uid['id']
//查出所有在线用户,返回的数组
$sql_user = "SELECT `id`,`client_id` FROM `xf_users` WHERE `online` = 0";
$stmt = $pdo->prepare($sql_user);
$stmt->execute();
$result = $stmt->fetchAll();
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);
|
本文为 小风原创文章,转载无需和我联系,但请注明来自 小风博客www.hotxf.com
打 赏