php连接mysql

先在php.ini文件里开放;extension=php_mysql.dll,去掉";"

然后配置扩展目 extension_dir = "F://php5.3/ext"。

1.创建数据库建表

/*创建数据库*/ 
CREATE DATABASE IF NOT EXISTS `test`; 
/*选择数据库*/ 
USE `test`; 
/*创建表*/ 
CREATE TABLE IF NOT EXISTS `user` ( 
name varchar(50), 
age int 
); 
/*插入测试数据*/ 
INSERT INTO `user` (name, age) VALUES('harry', 20), ('tony', 23), ('harry', 24); 

2.原生的SQL连接

<?php 
$host = 'localhost'; 
$database = 'test'; 
$username = 'root'; 
$password = 'root'; 
$selectName = 'harry';//要查找的用户名,一般是用户输入的信息 
$connection = mysql_connect($host, $username, $password);//连接到数据库 
mysql_query("set names 'utf8'");//编码转化 
if (!$connection) { 
die("could not connect to the database.\n" . mysql_error());//诊断连接错误 
} 
$selectedDb = mysql_select_db($database);//选择数据库 
if (!$selectedDb) { 
die("could not to the database\n" . mysql_error()); 
} 
$selectName = mysql_real_escape_string($selectName);//防止SQL注入 
$query = "select * from user where name = '$selectName'";//构建查询语句 
$result = mysql_query($query);//执行查询 
if (!$result) { 
die("could not to the database\n" . mysql_error()); 
} 
while ($row = mysql_fetch_row($result)) { 
//取出结果并显示 
$name = $row[0]; 
$age = $row[1]; 
echo "Name: $name "; 
echo "Age: $age "; 
echo "\n"; 
} 
?>

运行结果

其运行结构如下:

Name: harry Age: 20

Name: tony Age: 23

 

3.第二种是使用PDO的方式去连接数据库,代码如下:

<?php 
$host = 'localhost'; 
$database = 'test'; 
$username = 'root'; 
$password = 'root'; 
$selectName = 'harry';//要查找的用户名,一般是用户输入的信息 
$pdo = new PDO("mysql:host=$host;dbname=$database", $username, $password);//创建一个pdo对象 
$pdo->exec("set names 'utf8'"); 
$sql = "select * from user where name = ?"; 
$stmt = $pdo->prepare($sql); 
$rs = $stmt->execute(array($selectName)); 
if ($rs) { 
// PDO::FETCH_ASSOC 关联数组形式 
// PDO::FETCH_NUM 数字索引数组形式 
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
$name = $row['name']; 
$age = $row['age']; 
echo "Name: $name "; 
echo "Age: $age "; 
echo "\n"; 
} 
} 
$pdo = null;//关闭连接 

 

posted @ 2016-10-28 16:40  爱编程1314  阅读(192)  评论(0编辑  收藏  举报