PHP 连接 Mysql 数据库

Posted by 撒得一地 on 2016年7月27日 in PHP笔记
上一篇:
下一篇:

在 PHP 中,连接的数据库通常是 Mysql,Mysql 和 PHP 在开发过程中,就像一对形影不离的兄弟。

对于 PHP 来说,连接 Mysql 数据库的方法常见的有三种,第一种用原生的方式去连接数据库,第二种用 Mysqli 拓展去连接数据库,第三种用 PDO 方式去连接。

如果你是 PHP 初学者或者新手,那么建议你先学会第一种原生方法即可。非菜鸟者,最好三种都掌握。

本文操作前提,操作数据库名:test123,操作表名:data,相应的 sql 创建语句:

//创建名为 test123 数据库
create database test123;

//操作数据库 test123
use test123

//在数据库 test123 创建 data 表
create table data(
   id int(11) primary key,
   con varchar(20) 
);

//向 data 表里添加数据
insert into data value(1,'123');
insert into data value(2,'456');

在进行操作前,请你务必先了解 PHP 连接 Mysql 相关的一些函数,相关函数总结可以参见:http://php.net/manual/zh/ref.mysql.php

PHP原生方法连接Mysql

这里只详细介绍 mysql_connect 函数用法,语法:

	resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )

相应参数说明

server MySQL 服务器。可以包括端口号,例如 "hostname:port",本地数据库一般为 localhost 。

username 数据库用户名。

password 密码。

new_link 如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。

代码实例:

<?php
	 //数据库服务器名称,本地一般为 localhost
	 $mysql_server_name="localhost"; 

	 // 连接数据库用户名
	 $mysql_username = "root"; 

	 //若密码为空,直接设置成:$mysql_password = "";
	 //否则这里修改为你自己的数据库密码
	 $mysql_password = "";

	 //连接数据库名
	 $mysql_database = "test123";

	  //创建连接
	 $con = mysql_connect($mysql_server_name, $mysql_username,$mysql_password) or die('连接失败');

	 //选择一个要操作的数据库
	 mysql_select_db($mysql_database,$con); 

	  //执行 sql 语句,输出 data 表里面的内容
	 $sql = 'select * from data';
	  $result = mysql_query($sql);

	  //循环输出数据
	  while($temp_con = mysql_fetch_assoc($result)) {
	      echo "id为".$temp_con['id']."的内容为:".$temp_con['con']."<br/>";
	  }
?>

输出结果为:

id为:0的内容为:123
id为:1的内容为:456

如果你已经成功的操作了上面的实例,那么可以进一步了解 Mysqli 和 PDO 连接数据库的方法。

在 PHP 早期版本中我们使用 MySQL 扩展。PHP 5 及以上版本建议使用:MySQLi 和 PDO,MySQLi extension ("i" 意为 improved)
PDO (PHP Data Objects)。

MySQLi 和 PDO 哪个更有优势?

PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。

所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部门查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。

两者都是面向对象, 但 MySQLi 还提供了 API 接口。

两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。

不管是在 window 还是 Linux 下,在操作 Mysqli 和 PDO 时,确保你已经安装其 Mysqli 或 PDO 拓展。

PHP 使用 MySQLi 连接

	<?php
	$servername = "localhost";
	$username = "root";
	$password = "123456";

	// 创建连接
	$conn = mysqli_connect($servername, $username, $password);

	// 检测连接
	if (!$conn) {
	    die("Connection failed: " . mysqli_connect_error());
	}
	echo "连接成功";
	?>

PHP 使用 PDO 连接

	<?php
	$servername = "localhost";
	$username = "root";
	$password = "123456";
	try {
	    $conn = new PDO("mysql:host=$servername;dbname=test123", $username, $password);
	    echo "连接成功"; 
	}catch(PDOException $e)
	{
	    echo $e->getMessage();
	}

	?>

注意在以上 PDO 实例中我们已经指定了数据库 (test123)。PDO 在连接过程需要设置数据库名。如果没有指定,则会抛出异常。

关闭连接

连接在脚本执行完后会自动关闭。你也可以使用以下代码来关闭连接:

	实例 (MySQL - 面向过程)
	mysql_close($conn);

	实例 (MySQLi - 面向对象)
	$conn->close();

	实例 (PDO)
	$conn = null;

上一篇:

下一篇:

相关推荐

网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.