PHP+MySQL数据库编程的步骤

  • 格式:pdf
  • 大小:236.01 KB
  • 文档页数:8

PHP+MySQL数据库编程的步骤

第⼀步:PHP连接MySQL服务器

第⼆步:选择当前要操作的数据库

第三步:设置请求或返回的数据的字符集

第四步:执⾏各种SQL语句。

⼀.PHP连接MySQL服务器

PHP连接Mysql的⽅法有很多(也是php不断更新带来的后果),我就列下以下⼏种连接⽅法:

1、使⽤ mysql ,提⽰:此种⽅法官⽅不建议才,官⽅提⽰:will be removed。

$con = mysql_connect("localhost","root","");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

mysql_close($con);

2、使⽤ mysqli(分过程式与对象式两种)Success... localhost via TCP/IP :

$link = mysqli_connect('localhost', 'root', '', '007online');

if (!$link) {

die('Connect Error (' . mysqli_connect_errno() . ') '

. mysqli_connect_error());

}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);

3、使⽤PDO 可以⽤

$db = new PDO('mysql:host=localhost;dbname=007online', 'root', '');

try {

foreach ($db->query('select * from 007_class_news') as $row){

print_r($row);

}

$db = null; //关闭数据库

} catch (PDOException $e) {

echo $e->getMessage();

}

4、其他(使⽤ ADODB 等) ,

详细操作传送门:http://blog.csdn.net/zimin1985/article/details/18732505

require_once 'adodb.inc.php';

$conn = &ADONewConnection('mysql');

$conn->connect('localhost','root','','007online');

$conn->Execute("set names utf8");

$res = $conn->Execute("select * from 007_class_news");

if (!$res){

echo $conn->ErrorMsg();

}else{

var_dump($res);

}

⼆.常⽤词语(以下⽤mysqli_xxx)

PHP连接MySQL服务器

1.mysqli_connect() 定义和⽤法:

函数打开⼀个到 MySQL 服务器的新的连接。

语法 mysqli_connect(host,username,password,dbname,port,socket);

$link = mysqli_connect('localhost', 'root', '', '007online');

if (!$link) {

die('Connect Error (' . mysqli_connect_errno() . ') '

. mysqli_connect_error());

}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);

参数描述

host可选。规定主机名或 IP 地址。

username可选。规定 MySQL ⽤户名。

password可选。规定 MySQL 密码。

dbname可选。规定默认使⽤的数据库。

port可选。规定尝试连接到 MySQL 服务器的端⼝号。

socket可选。规定 socket 或要使⽤的已命名 pipe。

技术细节

返回值:返回⼀个代表到 MySQL 服务器的连接的对象。

PHP 版本:5+

2、exit()

l 描述:输出⼀个提⽰信息,并中⽌脚本继续向下运⾏。

l 语法:void exit([$msg])

l 参数:$msg是可选项。如果省略,只中⽌脚本运⾏。

l 举例:exit(“PHP连接出错了”)

3、 mysqli_connect_errno()

l 描述:返回上⼀次MySQL执⾏失败时的⽂本错误信息。

l 语法: mysqli_connect_errno()

4、屏蔽系统错误@

描述:@可以屏蔽各种函数调⽤错误,或包含⽂件错误,但是不能⽤在函数定义或类定义之前。

例⼦:@mysqli_connect()

选择MySQL数据库

1.mysqli_select_db() 函数⽤于更改连接的默认数据库。

$conn=null;

function query($sql){

//empty 判断⼀个变量的值是否为空

global $conn;

$conn=mysqli_connect('localhost','root','');//连接数据库服务器

mysqli_select_db($conn,'testcharset');//选中要操作的数据库

//mysqli_query($conn,'set names utf8');//设定编码格式

$result=mysqli_query($conn,$sql);//执⾏⼀个sql语句

return $result;

}

语法:mysqli_select_db(connection,dbname); 参数描述connection必需。规定要使⽤的 MySQL 连接。

dbname必需,规定要使⽤的默认数据库。

返回值:如果成功则返回 TRUE,如果失败则返回 FALSE。

PHP 版本:5+

设置MySQL返回的数据字符集

1.mysqli_query($conn,$sql);//执⾏⼀个SQL语句

描述:发送⼀条 MySQL 查询。

语法:resource

mysqli_query( string $query [, resource $link = NULL ] )

l 参数:

$query:指要发送的SQL语句。

增加记录:$query = “INSERT INTO news(title,content) VALUES(‘标题’ , ‘内容’)”

删除记录:$query = “DELETE FROM news WHERE id=10”

修改记录:$query = “UPDATE news SET title = ‘新标题’ , content = ‘新内容’ WHERE id=80”

查询记录:$query = “SELECT * FROM news WHERE id<100”

$link:可选项。指上⼀次打开的活动连接。

l 返回值

如果执⾏SELECT、SHOW、DESCRIBE命令,成功时返回结果集,失败时返回FALSE。

结果集也是⼀个资源标识符,是到MySQL数据的⼀个引⽤地址。

如果执⾏其它的SQL语句,执⾏成功返回TRUE,执⾏失败返回FALSE。

l 举例:

$result = mysqli_query(“SELECT * FROM news WHERE id<100”)

$result = mysqil_query(“DELETE FROM news WHERE id=100”)

从结果集中取出⼀⾏数据

1、mysqli_fetch_row()

描述:从结果集中取得⼀⾏作为枚举数组。

语法:array mysql_fetch_row ( resource $result )

参数:$result是结果集变量。

返回值:返回⼀个枚举数组,也就是从0开始的正整数下标。这⾥的下标,是与表的字段下标是对应。

举例:$arr = mysqli_fetch_row($result)

输出类似:

Array

(

[0] => Adams

[1] => John

[2] => London

)

2、mysqli_fetch_array()

描述:从结果集中取出⼀⾏,作为混合数组返回。

语法:array mysqli_fetch_array ( resource $result [, int $ result_type ] )

参数:

$result:是指结果集变量。 $result_type:是指返回的数组的类型。取值:MYSQL_BOTH、MYSQL_ASSOC、MYSQL_NUM

MYSQL_BOTH:默认的。也就是两种下标都存在。

MYSQL_ASSOC:只有字符下标的数组。相当于mysql_fetch_assoc()的功能。

MYSQL_NUM:只有整数下标的数组。相当于mysql_fetch_row()的功能。

以上三个参数是常量,系统常量必须全⼤写。

返回值:返回⼀个数组,⾄于是什么数组,取决于第⼆个参数。

举例:

$arr = mysql_fetch_array($result) //混合数组

$arr = mysql_fetch_array($result , MYSQL_ASSOC ) //关联数组

$arr = mysql_fetch_array($result , MYSQL_NUM) //枚举数组

输出类似:

Array

(

[0] => Adams

[LastName] => Adams

[1] => John

[FirstName] => John

[2] => London

[City] => London

)

// 假定数据库⽤户名:root,密码:123456,数据库:RUNOOB

$con=mysqli_connect("localhost","root","123456","RUNOOB");

if (mysqli_connect_errno($con))

{

echo "连接 MySQL 失败: " . mysqli_connect_error();

}

$sql="SELECT name,url FROM websites ORDER BY alexa";

$result=mysqli_query($con,$sql);

// 数字数组

$row=mysqli_fetch_array($result,MYSQLI_NUM);

printf ("%s : %s",$row[0],$row[1]);

// 关联数组

$row=mysqli_fetch_array($result,MYSQLI_ASSOC);

printf ("%s : %s",$row["name"],$row["url"]);

// 释放结果集

mysqli_free_result($result);

mysqli_close($con);

?>

3、mysqli_fetch_assoc()

描述:从结果集中取⼀⾏,以关联数组返回。

语法:array mysqli_fetch_assoc(resource $result)