php连接mysql

mysql 扩展库连接:

<?php
//mysql 扩展库操作mysql数据库步骤如下

//1.获取连接

 $conn = mysql_connect("localhost", "root", "root");
 
 if(!$conn){
 	die("Could not connect: " . mysql_error());
 }else{
 	echo "connect success<br/>";
 }


//2.选择数据库

 mysql_select_db("php");
 
//3.设置操作编码
mysql_query("set names gbk");
 
//4.发送指令sql(ddl 数据定义语句,dml(数据操作语句 update,insert,delete),dql(select ).dtl(事务语句 rollback commit...))
$sql = "select * from user1";
//5.接收返回的结果,并且处理
$result = mysql_query($sql,$conn) or die("Invalid query: " . mysql_error());

while ($row = mysql_fetch_row($result)){
// 	echo "<br/>$row[0]--$row[1]--$row[2]";

	foreach ($row as $key=>$val){
		echo "---$val";
	}
	echo "<br/>";
}

//6.释放资源,关闭连接
mysql_free_result($result);
mysql_close($conn);//这句代码可以不写,建议写上
?>

dml语句实例:

<?php
$conn=mysql_connect("localhost","root","root");

if(!$conn){
	die("err".mysql_error());
}

mysql_select_db("php") or die("select err".mysql_error());

mysql_query("set names gbk");

//$sql = "insert into user1(name,psw,email,age) values('小明',md5('123'),'xiaoming.qq.com',34)";

//$sql = "delete from user1 where id=8";

$sql = "update user1 set name='金玮' where id=3";
$res = mysql_query($sql,$conn);


if(!$res){
	die("query err".mysql_error());
	
	return;
}


if(mysql_affected_rows($conn) > 0){
	echo "<p>success query and some data find</p><br/>";
}else {
	echo "<p>没有受影响的行数。</p><br/>";
}



?>

封装mysql 操作:

<?php

	header("Content-type: text/html;charset=utf-8");
	
	class SqlTool{
		
		private $conn;
		private $host="localhost";
		private $user ="root";
		private $password="root";
		private $db = "vibc";
		
		function SqlTool(){
			$this->conn = mysql_connect($this->host,$this->user,$this->password);
			
			if(!$this->conn){
				die("connct mysql db failed.".mysql_error());
			}
			
			mysql_select_db($this->db,$this->conn);
			mysql_query("set names gbk");
		}
		
	public function close_connect(){
			if(!empty($this->conn)){
				mysql_close($this->conn);
			}
		}
		
		public function execute_dql($sql){
			$res = mysql_query($sql,$this->conn) or die("execute_sql error".mysql_error());
			return $res;
		}
		
		 function execute_dql2($sql){
			$arr = array();
			
			$res = mysql_query($sql,$this->conn) or die("execute_sql error".mysql_error());
			
			$i=0;
			while($row = mysql_fetch_assoc($res)){
				$arr[$i++]=$row;
			}
			mysql_free_result($res);
			return $arr;
		}
		
	    function execute_dml($sql){
			$b = mysql_query($sql,$this->conn);
			
			if(!$b){
				return -1;//failed
			}elseif(mysql_affected_rows($this->conn) > 0){
				return 0;//success
			}else{
				return 1;//success but no data
			}
		}
	}

?>



mysqli 扩展库连接 mysql

面向对象方式:

<?php

	header("Content-type: text/html;charset=utf-8");
	
	$mysqli = new mysqli("localhost", "root", "root", "php");
	
	if ($mysqli->connect_error) {
		die("connect error(".$mysqli->connect_errno.")");
	}
	
	echo "connect success.<br/>";
	
	//发送数据
	$sql = "select * from user1";
	$res = $mysqli->query($sql);
	
	//获取数据
	 while ($row = $res->fetch_row()) {
        //printf ("%d--%s---%s---%s---%d)<br/>", $row[0], $row[1],$row[2],$row[3],$row[4]);
        
	 	foreach ($row as $key=>$val){
	 		echo "----$val";
	 	}
	 	
	 	echo "<br/>";
    }

    /* free result set */
    //释放内存
    $res->free();

    //关闭连接
    $mysqli->close();
?>

mysqli 面向过程的方式:

<?php
	header("Content-type: text/html;charset=utf-8");
	$mysqli = mysqli_connect("localhost","root", "root","php");
	
	if(!$mysqli){
		die("connect failed ".mysqli_connect_error($mysqli));
	}
	
	$sql = "select * from user1";
	
	$res = mysqli_query($mysqli, $sql);
	
	while($row = mysqli_fetch_row($res)){
	
		foreach ($row as $key=>$val){
			echo "---$val";
		}
		
		echo "<br/>";
	}
	

	mysqli_free_result($res);
	
	mysqli_close($mysqli);
?>


批量执行dml语句:

<?php
	header("Content-type: text/html;charset=gbk");

	//批量执行sql语句
	$mysqli = new mysqli("localhost", "root", "root", "php");
	
	if($mysqli->connect_error){
		die($mysqli->connect_error);
	}
	
	$sql = "insert into user1(name,psw,email,age) values('zjw',md5('123'),'zjw@sohu.com',24);";
	
	$sql .= "insert into user1(name,psw,email,age) values('sonjiang',md5('123'),'sonjiang@sohu.com',45);";
	
	$sql .= "insert into user1(name,psw,email,age) values('lujueyi',md5('123'),'lujunyi@sohu.com',45);";
	
	$b = $mysqli->multi_query($sql);
	
	
	if($b){
		echo "执行成功!<br/>";
	}else{
		echo "执行失败!<br/>";
		echo $mysqli->error;
	}
	
	$mysqli->close();
	
	
?>

批量执行dql语句

<?php
	header("Content-type: text/html;charset=utf-8");
	
	$mysqli =new mysqli("localhost", "root", "root", "php");
	
	if($mysqli->connect_error){
		die($mysqli->connect_error);
		exit();
	}
	
	
	$sqls = "select * from user1;";
	$sqls .= "select * from user2;";
	
	if($res = $mysqli->multi_query($sqls)){
		do{
			if ($result = $mysqli->store_result()) {
				while ($row = $result->fetch_row()) {
					
					foreach ($row as $key=>$val){
						echo "---$val";
					}
					
					echo "<br/>";
				}
				$result->free();
			}
			/* print divider */
			if ($mysqli->more_results()) {
				echo "<br/>---------new results find----------------<br/>";	
			}else{
				break;
			}
		}while($mysqli->next_result());
	}
	
	/* close connection */
	$mysqli->close();
?>


mysql 事务:

<?php

//事务用于保证数据的一致性
	$mysqli = new mysqli("localhost", "root", "root", "php");
	
	if($mysqli->connect_error){
		die($mysqli->connect_error);
		exit();
	}
	
	/* set autocommit to off */
	$mysqli->autocommit(FALSE);

	$sql1 = "update account set balance=balance-2 where id=1";
	$sql2 = "update account2 set balance=balance+2 where id=2";
	
	$b1 = $mysqli->query($sql1) ;
	$b2 = $mysqli->query($sql2) ;
	
	
	
	if(!$b1 || !$b2) {
		echo "failed<br/>".$mysqli->error;
		$mysqli->rollback();
	}else{
		echo "success<br/>";
		/* commit transaction */
		$mysqli->commit();
	}
		
	$mysqli->close();
?>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值