PHP连接MySQL数据库的几种方法

一直使用框架写东西,最近自己写一个简单脚本忽然发现最简单的连接数据库的知识记不太清楚了,特意记下来以便平时多复习。

 

1.最简单的方式-mysql(面向过程)(不建议使用高版本PHP已经弃用,建议使用mysqli或PDO)

<?php

$con = mysql_connect("localhost","root","password");

$select_db = mysql_select_db('test');

if (!$select_db) {

    die("could not connect to the db:\n" .  mysql_error());

}

//查询代码

$sql = "select * from db_table";

$res = mysql_query($sql);

if (!$res) {

    die("could get the res:\n" . mysql_error());

}

while ($row = mysql_fetch_assoc($res)) {

    print_r($row);

}

//查询代码

//关闭数据库连接

mysql_close($con);

?>

2.mysqli(面向过程)

$mysql_server_name = 'localhost'; //改成自己的mysql数据库服务器

$mysql_username = 'root'; //改成自己的mysql数据库用户名

$mysql_password = 'password'; //改成自己的mysql数据库密码

$mysql_database = 'test'; //改成自己的mysql数据库名

$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接数据库

//连接数据库错误提示

if (mysqli_connect_errno($conn)) { 

    die("连接 MySQL 失败: " . mysqli_connect_error()); 

}

mysqli_query($conn,"set names utf8"); //数据库编码格式

// mysqli_set_charset($conn,"utf8");//设置默认客户端字符集。

// mysqli_select_db($conn,$mysql_database); //更改连接的默认数据库

//查询代码

$sql = “select * from db_table”;

$query = mysqli_query($conn,$sql);

while($row = mysqli_fetch_array($query)){

    echo $row['title'];

}

//查询代码

// 释放结果集+关闭MySQL数据库连接

mysqli_free_result($result);

mysqli_close($conn);

3、mysqli(面向对象)

//连接数据库方式1

$conn = new mysqli('localhost', 'root', 'password', 'test');

//连接数据库方式2

// $conn = new mysqli();

// $conn -> connect('localhost', 'root', 'password', 'test');

//check connection (检查PHP是否连接上MYSQL)

if ($conn -> connect_errno) {

    printf("Connect failed: %s\n", $conn->connect_error);

    exit();

}

//查询代码

$sql = “select * from db_table”;

$query = $conn->query($sql);

while($row = $query->fetch_array()){

    echo $row['title'];

}

//查询代码

//释放结果集+关闭MySQL连接

$query1 -> free_result();

$conn -> close();

4.PDO连接MySQL数据库

<?php

$db = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');

try {

    foreach ($db->query('select * from db_table') as $row){

    print_r($row);

    }

    $db = null; //关闭数据库

} catch (PDOException $e) {

    echo $e->getMessage();

}

?>

所谓勇者,是心有所惧,唯自知尔!

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页