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)