php连接mysql多种方法与实例代码

发布时间:2019-10-15编辑:脚本学堂
php连接mysql数据库的多种方式,包括面向过程的方法、面向对象的mysql连接方法及php pdo扩展库连接方法等。

php mysql_connect函数来实现连接mysql数据库,需要php有php_mysql.dll和libmysql.dll及php.ini中的;extension=php_mysql,去掉前面的“;”了哦。
 

复制代码 代码示例:
<?php
mysql_connect("localhost", "root","1981427") //连接位于localhost的服务器,用户名为root
?>

连接再选择数据库
 

复制代码 代码示例:
<?php
@mysql_select_db("test") //选择数据库mydb
?>
 

这样就可以实现连接到数据库了

运行代码出现:
call  to  undefined  function  'mysql_connect()'… 失败
这个提示function undefined是说没有mysql_connect()函数,

解决方法:
将php_mysql.dll和libmysql.dll文件拷贝至c:winntsystem32中(我漏了libmysql.dll)
找到php.ini中的;extension=php_mysql,去掉前面的";"  重启服务器
 
例1,conn.php文件代码:
 

复制代码 代码示例:
<?php
$conn = @mysql_connect("localhost", "root", "root") or die("数据库链接错误");
mysql_select_db("data", $conn);//data为数据库名称
mysql_query("set names 'gbk'"); //使用gbk中文编码;
?>
 

 
index.php文件代码:
 

复制代码 代码示例:
<?php
 include("conn.php");//引入conn.php文件
  $sql="select * from `table` order by id desc";
  $query=mysql_query($sql);
  while($row=mysql_fetch_array($query)){
?>
 

显示数据内容:
 

复制代码 代码示例:
<?=$row[user]?>
<?
  }
?>

php连接mysql数据库

方法一:普通方法(面向过程)

首先,数据库用户信息:
 

$username=your_name;
$userpass=your_pass;
$dbhost=localhost;
$dbdatabase=your_database;

关键步骤:
 

复制代码 代码示例:

//生成一个连接
$db_connect=mysql_connect($dbhost,$username,$userpass) or die("unable to connect to the mysql!");
 
//选择一个需要操作的数据库
mysql_select_db($dbdatabase,$db_connect);
 
//执行mysql语句
$result=mysql_query("select id,name from user");

//提取数据
 $row=mysql_fetch_row($result);

补充:
①在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自定义错误信息;

②提取数据时,除了上面的mysql_fetch_row,常见的还有mysql_fetch_assoc和mysql_fetch_array,具体差别请查阅php manual;

③对于mysql_query()函数的返回值,如果执行的语句有返回值(如select、show、describe等),则返回相应数据(成功时)或false(失败时);如果执行的语句没有返回值(如delete、drop、insert、update等),则返回true(成功时)或false(失败时)。

方法二:php面向对象方法连接mysql数据库

其实这种方法和普通方法非常类似,只是把相应的函数换成了面向对象方法,直接看代码。
 

复制代码 代码示例:
$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
if(mysqli_connect_error()){
echo 'could not connect to database.';
exit;
}
 
$result=$db->query("select id,name from user");
$row=$result->fetch_row();
 

这里用到的是mysqli,意思就是mysql的扩展,既可以通过面向过程的方式也可以通过面向对象的方式与数据库进行交互,唯一不同的是调用函数(对象方法)的方式不一样。

方法三:php pdo方法连接mysql数据库

pdo其实是php database objects的缩写,中文即php数据库对象。它提供了一种统一的php与数据库交互的方法。

这是目前比较流行的一种连接数据库的方法。它的优势在于:只要正确提供数据源,余下对于数据库的基本操作都是一样的。也就是说,同一段代码既可以同mysql交互,也可以和sqlite3交互,当然也可以和postgresql进行交互,前提是你提供了正确的数据源。

连接mysql的代码:
 

复制代码 代码示例:

$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
$dbh=new pdo($dsn,$username,$userpass);

sqlite3:
$dsn='sqlite3:"c:sqliteuser.db"';
$dbh=new pdo($dsn);

postgresql:
$dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase.' user='.$username.' password='.$userpass;
$dbh=new pdo($dsn);
 

跟数据库成功建立连接之后,以下只需要从数据库获取数据或插入更新数据。

sql代码:
 

复制代码 代码示例:
$stmt=$dbh->query('select id,name from user');
$row=$stmt->fetch();