============PHP的mysql和mysqli的区别 ==================
- mysql是面向过程的,mysqli是面向对象的
- mysql不支持事务,mysqli支持事务
- mysql不支持预处理语句,mysqli支持预处理语句
mysql 扩展举例
<?php
/**
* Created by PhpStorm.
* User: qishou
* Date: 15-7-31
* Time: 下午9:40
*/
$db_host="localhost"; //主机名称
$db_user="root"; //用户名
$db_pwd="sanyue@%dev"; //密码
$db_name = "my_email"; //数据库名称
header("content-type:text/html;charset=utf-8"); //设置编码utf-8
@$link = mysql_connect($db_host,$db_user,$db_pwd); //连接数据库
if(!$link){
die('连接失败'.mysql_error());
}
mysql_select_db($db_name,$link) or die("不能选定数据库$db_name:".mysql_error());//选择数据库
mysql_query("SET NAMES 'utf8'"); //设置数据库编码为utf8
$insert = "INSERT INTO user_info(user_name,real_name)VALUE('zhouyi','周一')";
$result = mysql_query($insert); //执行查询语句
if($result && mysql_affected_rows()>0){
echo "数据插入成功!最后一条插入的记录是:".mysql_insert_id()."<br/>";
}else{
echo "数据插入失败!错误号:".mysql_errno()."错误原因:".mysql_error()."<br/>";
}
$update = "UPDATE user_info SET real_name='周一s' WHERE user_name='zhouyi' and id=3";
$result1 = mysql_query($update); //执行更新语句
if($result1 && mysql_affected_rows()>0){
echo "记录修成功!<br/>";
}else{
echo "记录修改失败!错误号:".mysql_errno()."错误原因:".mysql_error()."<br/>";
}
$delete = "DELETE FROM user_info WHERE id=4";
$result2 = mysql_query($delete); //执行删除语句
if($result2 && mysql_affected_rows()>0){
echo "数据记录删除成功!<br/>";
}else{
echo "删除失败!记录号:".mysql_errno()."错误原因:".mysql_error()."<br/>";
}
$query = "SELECT id,user_name,real_name from user_info;";
$result3 = mysql_query($query); //执行删除语句
while($row = mysql_fetch_array($result3,1)){
foreach($row as $key => $value){
echo "$key:$value ";
}
echo "<br/>";
}
mysql_free_result($result3);//释放查询的结果资源
mysql_close($link);//关闭与数据库的连接
mysqli 扩展举例
<?php
/**
* Created by PhpStorm.
* User: qishou
* Date: 15-7-31
* Time: 下午11:14
*/
$db_host="localhost"; //主机名称
$db_user="root"; //用户名
$db_pwd="sanyue@%dev"; //密码
$db_name = "my_email"; //数据库名称
header("content-type:text/html;charset=utf-8"); //设置编码utf-8
$mysqli = new mysqli($db_host,$db_user,$db_pwd,$db_name);
$mysqli->set_charset("utf-8");
//插入操作
$insert = "INSERT INTO user_info(user_name,real_name)VALUE('zhouwu','周五')";
$result = $mysqli->query($insert);
if($result){
echo "插入成功!最后一条记录号:".$mysqli->insert_id;
}else{
echo "插入失败记录号:".$mysqli->errno."错误原因:".$mysqli->error;
}
//更新删类似,同上
$update = "UPDATE user_info SET real_name='周一s' WHERE user_name='zhouyi' and id=3";
$delete = "DELETE FROM user_info WHERE id=4";
$query = "SELECT user_name,real_name from user_info";
//预处理
$insert = "INSERT INTO user_info(user_name,real_name,age)VALUE(?,?,?)";
$stmt = $mysqli->prepare($insert);
$stmt->bind_param("ssi",$user_name,$real_name,$age);
$user_name = "T1";
$real_name = "张扬";
$age = 23;
$res = $stmt->execute();
$user_name = "T2";
$real_name = "张扬杨";
$age = 23;
$res = $stmt->execute();
if($res){
echo "操作成功!<br/>";
}else{
echo "操作失败!<br/>".$stmt->errno."错误原因:".$stmt->error;
}
$query = "SELECT user_name,real_name FROM user_info where id > ?";
$stmt = $mysqli->prepare($query); //创建预编译对象
$stmt->bind_param("i",$id); //绑定参数
$id = 0;
$stmt->bind_result($user_name,$real_name);//绑定结果集
$stmt->execute();//执行
while($stmt->fetch()){
echo "$user_name:$real_name<br/>";
}
//关闭资源
$stmt->free_result(); //释放结果
$stmt->close();//关闭与编译语句
$mysqli->close(); //关闭连接