PHP数据库编程(2)
细节
1、使用完$res结果集后,一事实上要及时的释放资源
2、mysql_close()如果没有的话,系统也会自动的关闭
3、从$res获取行数据的时候,处理mysl_fetch_row($res)
- — 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
- — 从结果集中取得一行作为关联数组
- — 从结果集中取得列信息并作为对象返回
- — 取得结果集中每个输出的长度
- — 从结果集中取得一行作为对象
- — 从结果集中取得一行作为枚举数组(官方推荐)
PHP实现
<?php
/* //user1表增加、删除、修改
$conn=mysql_connect("localhost:3336","root","myoa888");
if(!$conn){
die("数据库连接失败".mysql_error());
}
mysql_select_db("phpstudy",$conn)or die(mysql_error());
mysql_query('set names gbk',$conn);
//添加
//$sql="Insert intouser1(name,password,email,age) values ('顾明百',md5('
//123'),'[email protected]',25) ";
//删除
//$sql=" delete from user1 whereage=25";
//修改
$sql="update user1 set age=25 whereid=4";
//如查是DML操作,则返回bool
$res=mysql_query($sql);
if(!$res){
echo "添加操作失败!".mysql_error();
}
//查看数据有几条
if(mysql_affected_rows($conn)>0){
echo "添加成功!";
}
mysql_close($conn);
*/
//使用类
require_once "SqlTool.class.php";
$sql="Insert intouser1(name,password,email,age) values ('顾明百99',md5('
123'),'[email protected]',25) ";
$sqlTool= new SqlTool();
$res=$sqlTool->excute_dm1($sql);
if($res==0){
echo "失败";
}else if($res==1){
echo "成功";
}else if($res==2){
echo "没有行数影响";
}
?>
SqlTool.class.php数据库封装类(简单)
<?php
classSqlTool{
private $conn;
private $host="localhost:3336";
private $user="root";
private $password="myoa888";
private $db="phpstudy";
function SqlTool(){
$this->conn=mysql_connect($this->host,$this->user,$this->password);
if(!$this->conn){
die("连接数据库失败".mysql_error());
}
mysql_select_db($this->db,$this->conn);
mysql_query("set namesgbk",$this->conn);
}
//完成select
public function excute_db1($sql){
}
//完成 update,delete,insert
public function excute_dm1($sql){
$b=mysql_query($sql,$this->conn);
if(!$b){
return 0;//失败
}
else{
if(mysql_affected_rows($this->conn)>0){
return 1;//成功
}else{
return 2;//没有行数影响
}
}
}
}
?>