各位用户为了找寻关于php连接MySQL的两种方式对比的资料费劲了很多周折。这里教程网为您整理了关于php连接MySQL的两种方式对比的相关资料,仅供查阅,以下为您介绍关于php连接MySQL的两种方式对比的详细内容
记录一下PHP连接MySQL的两种方式。
先mock一下数据,可以执行一下sql。
? 1 2 3 4 5 6 7 8 9 10 11/*创建数据库*/
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);
第一种是使用PHP原生的方式去连接数据库。代码如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29<?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 databasen"
. 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 databasen"
. 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 第二种是使用PDO的方式去连接数据库,代码如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<?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;
//关闭连接
其结果与第一种相同。
以上所述就是本文的全部内容了,希望能够对大家熟练掌握mysql有所帮助。