【连接数据库】PHP7的连接数据库的三种方法【原创】
使用原生PHP来连接MySQL的方法有MySQL库、MySQLi库以及PDO,由于PHP 7已经废除MySQL库,所以建议使用MySQLi和PDO。
连接MySQLi有两种风格:
面向对象风格: 1
fetch_array方法如果不带参数的话,则默认是MYSQLI_BOTH,输出是这样的: 1
一般来说,选择MySQLI_ASSOC
面向过程化风格: 1
使用PDO连接mysql:
PDO的fetch方法不带参数的话,默认是:PDO::FETCH_BOTH,也可以PDO::FETCH_NUM和PDO::FETCH_ASSOC等,一般来说选择PDO::FETCH_ASSOC即可。
总结:使用PDO或者是MySQLi都是可以的,但网上更推荐使用PDO来连接数据库,这是因为PDO支持12种不同的数据库驱动程序,而MySQLi只能支持MySQL,另外PDO的性能也更高。
连接MySQLi有两种风格:
- 面向对象风格(推荐)
- 过程化风格
面向对象风格: 1
<?php23
$mysqli = new mysqli("localhost", "root", "123456", "test_laravel");45
if ($mysqli->connect_error) {6
die("Connect Error (" . $mysqli->connect_errno . ") " . $mysqli->connect_error);7
}89
$result = $mysqli->query("select * from articles");10
$row = $result->fetch_array(MYSQLI_ASSOC);11
print_r($row);1213
// 关闭mysql连接14
$mysqli->close();15运行:
Array ( [id] => 1 [title] => My new title [body] => First Body [created_at] => 2017-05-22 11:10:20 [updated_at] => 2017-05-22 11:30:58 [published_at] => 2017-05-22 11:10:00 [excerpt] => )
fetch_array方法如果不带参数的话,则默认是MYSQLI_BOTH,输出是这样的: 1
(2
[0] => 13
[id] => 14
[1] => My new title5
[title] => My new title6
[2] => First Body7
[body] => First Body8
[3] => 2017-05-22 11:10:209
[created_at] => 2017-05-22 11:10:2010
[4] => 2017-05-22 11:30:5811
[updated_at] => 2017-05-22 11:30:5812
[5] => 2017-05-22 11:10:0013
[published_at] => 2017-05-22 11:10:0014
[6] =>15
[excerpt] =>16
)也可以选择MYSQLI_NUM
Array ( [0] => 1 [1] => My new title [2] => First Body [3] => 2017-05-22 11:10:20 [4] => 2017-05-22 11:30:58 [5] => 2017-05-22 11:10:00 [6] => )
一般来说,选择MySQLI_ASSOC
面向过程化风格: 1
<?php23
$mysqli = mysqli_connect("localhost", "root", "123456", "test_laravel");45
if (mysqli_connect_error()) {6
die("Connect Error (" . $mysqli->connect_errno . ") " . $mysqli->connect_error);7
}89
$result = mysqli_query($mysqli, "select * from articles");10
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);11
print_r($row);1213
// 关闭mysql连接14
mysqli_close($mysqli);15运行和上面一致。
使用PDO连接mysql:
<?php try { $PDO = new PDO("mysql:host=localhost;dbname=test_laravel", "root", "123456"); $result = $PDO->query("select * from articles"); $row = $result->fetch(PDO::FETCH_ASSOC); print_r($row); // 关闭mysqi连接 $PDO = null; } catch (PDOException $e) { die("Connection failed: " . $e->getMessage()); }
PDO的fetch方法不带参数的话,默认是:PDO::FETCH_BOTH,也可以PDO::FETCH_NUM和PDO::FETCH_ASSOC等,一般来说选择PDO::FETCH_ASSOC即可。
总结:使用PDO或者是MySQLi都是可以的,但网上更推荐使用PDO来连接数据库,这是因为PDO支持12种不同的数据库驱动程序,而MySQLi只能支持MySQL,另外PDO的性能也更高。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 【C++笔记】字符串、向量和数组
- 下一篇: order by 和 group by 的区别