免费个人博客管理系统

首页

网络技术

免费PHP教程

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

免费php教程  阅读:?PHP-lianjie-MySQL-shujuku

本节主要讲述PHP连接MySQL数据库方法,如果您对php还一点也不了解,请阅读上一篇:关于php入门的语法基础, 虽然篇幅不大,对初学者也不要求完全理解,但是内容还是很重要。

接下是关于PHP连接MySQL数据库方法的内容,同样也不需要完全理解,只需要有个大概印象就可以,整个教程看完, 并且能够把教程内容里面的代码复制到你的本地,并且能够成功运行,这样就可以很快学会php编程了,因为所有的程序编写都是大同小异的,直到最后,你把教程内所有代码都复制粘贴完,并且能够跟随教程完整做出项目,当你最后站在成功的制高点上再次俯视这些基础代码的时候,相信你一定会恍然大悟,原来 学会php可以这么简单!OK!回到正题(本节属于阅读类课程,无需复制粘贴代码等操作,除非你打算制作笔记)。

随着MySQL数据库版本的更新迭代,和php程序的不断拓展,php连接MySQL数据库的方法也出现了好几种。

第一种,也是目前使用最多的PHP连接MySQL数据库的方法,面向过程的mysql_connect连接方法:

<?php
header("Content-Type:text/html; charset=utf-8"); // 设置文档编码,防止出现乱码情况,与MySQL数据库连接没有直接关系
$servername = "localhost"; //改成自己的mysql数据库服务器
$username = "root"; //改成自己的mysql数据库用户名
$password = "123456"; //改成自己的mysql数据库密码
$dbname = "test"; //改成自己的mysql数据库名
$con = mysql_connect($servername,$username,$password); // 连接到数据库用户
$select_db = mysql_select_db($dbname); // 连接到指定数据库
if (!$select_db) {
die("<h2>无法连接到数据库:</h2>" . mysql_error());
}
mysql_query("SET NAMES utf8"); // 设置数据库编码
//数据库查询代码操作开始
$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);

第二种,面向过程的mysql_connect升级版,mysqli_connect连接方法:
<?php
$servername = 'localhost'; //改成自己的mysql数据库服务器
$username = 'root'; //改成自己的mysql数据库用户名
$password = 'password'; //改成自己的mysql数据库密码
$dbname = 'test'; //改成自己的mysql数据库名
$conn=mysqli_connect($servername,$username,$password,$dbname ); //连接数据库
//连接数据库错误提示
if (mysqli_connect_errno($conn)) {
die("连接 MySQL 失败: " . mysqli_connect_error());
}
mysqli_query($conn,"set names utf8"); //数据库编码格式
//数据库查询代码操作开始
$sql = “select * from db_table”;
$query = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($query)){
echo $row['title'];
}
//查询结束
//在所有增删改查结束后,关闭MySQL数据库连接
mysqli_close($conn);

第三种,面向对象的增强拓展版new mysqli的连接方法:
<?php
//连接数据库方式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'];
}
//释放结果集
$query1 -> free_result();
//在所有增删改查结束后,关闭MySQL连接
$conn -> close();

第四种,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();
}
?>

第五种,ADODB连接MySQL数据库方法:
<?php
//安装驱动-引入类即可
require_once './adodb5/adodb.inc.php';
$conn = &ADONewConnection('mysql');
$conn->connect('localhost','root','password','test');
$conn->Execute("set names utf8");
}
?>
//关闭连接
$conn->close();

上面介绍的MySQL数据库连接的5种方法,下面给大家说一下关于这5种连接方法的总结:
首先 需要说明的是,虽然使用第一种mysql_connect方法连接MySQL的用户多,但并不是因为这个方法最好,而是因为之前的用户过于庞大,其中很多用户没有能力或条件更新到更优秀的版本 ,以至于很多服务器运营商在提供新版本技术支持的同时,仍然对这些老旧版本进行兼容。

关于第二种数据库连接方法,在很多新手的使用过程中直接应用场景较多(面向过程),也是以后我们学习和使用的重点,但是我们会在下一节讲述对这个数据库连接方法进行封装 (面向对象)。

什么是封装?网上没有具体定义。所谓封装,其实就是出于安全、规范、统一、稳定、简化操作等目的,方便以后的共同使用和接口调用,它可以减少因不规范的操作产生意外状况,降低新产品的开发成本和使用成本。

关于第三种MySQL数据库连接方法,MySQL数据库官方已经给出了更全面的使用方法,更高效、更安全、更稳定、更全面,具体用法可以查看php.net网站总结的概要,网址:http://php.net/manual/zh/mysqli.summary.php 。虽然好处有这么多,但是其实我们开发者真正能用到的也仅仅是其中的一小部分,出于更简洁、更易兼容、开发成本更低、更符合我们自己的逻辑的考虑,我还是推荐我们自己用第二种数据库连接方法编写、封装和使用。例如,我们网站大到MySQL数据库无法承受,需要更换更强大的Oracle数据库的时候,我们只需要修改数据库的封装文件或配置文件就可以实现在很短的时间就能实现网站程序整体的顺利变更,网站规模越大,使用自己编写封装的数据库方法的优势越明显。 如果你的整个网站,完全地使用了MySQL数据库官方给出的用法,将来当你面临更换数据库的时候,你会发现,你跳入了MySQL数据库官方给大家挖的一个坑。

关于第四种MySQL数据库连接方法,pdo是php提供的轻量级连接数据的接口,在php5.1之后的版本中使用,pdo方式好处是比之前的mysql方式更加安全,兼容性好,可以使用同样的方式连接Oracle、mssql等数据库。

关于第五种ADODB连接MySQL数据库方法,支持的数据库种类非常的多,例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADO, Sybase, DB2 以及一般的 ODBC (其中 PostgreSQL、Informix、Sybase 的driver 是由自由软件社群发展之后贡献出来的)。

虽然PHP连接MySQL数据库的方法有很多,但是接下来教程还是以更好的传承模式学习mysqli_connect连接下的增删改查。在下一讲,我们主要学习用本文的第二种php连接MySQL数据库的方法,以及如何进行MySQL数据库的封装。当然如果你有兴趣,你也可以去尝试编写由其它方法连接和操作增删改查的数据库操作类。

本文地址:http://02408.com/p-PHP-lianjie-MySQL-shujuku.html
上一篇:php语法基础和php入门代码
下一篇:

最新回答

暂无回答

评论专区:

名 称必填

邮 箱必填

网 址选填

验 证

添加表情

智库声音

网络技术

创业赚钱

网络热点

钻石戒指珠宝首饰

    商品推荐

    网站推荐

    更多..按标签查询

    置顶信息

    最新发布

    谷歌广告:

    更多 >

    图文推荐

    美国发动阿富汗战争的真实原因
    春捂秋冻指的是什么意思?为什么说春冻骨头秋冻肉?为什么说春捂秋冻不生杂病
    清华新中国70年经济学报告:30年内中国将成为世界第一大经济体
    反全球化,区域合作和地缘经济对中国更有利!
    特朗普政府这是宣布投降了?美国错失延缓新冠病毒传播的机会,并且还要一错再错!
    纽约时报披露:俄军情部门向阿富汗塔利班关联组织秘密提供赏金,鼓励他们击杀美军
    外媒曝澳大利亚特种兵在阿富汗搞“杀人竞赛” 英美士兵更离谱
    外国媒体评论中印边界冲突