1、在PHP中 使用mysqli擴展庫對mysql 的dql操作
代碼如下 復制代碼
<?php
header("Content-type: text/html;charset=utf-8");
//mysqli操作mysql數據庫(面向對象方式)
//1、創建MySQLi對象
$mysqli =new MySQLi("localhost","root","root","test");
if($mysqli->connect_error){
die("連接失敗".$mysqli->connect_error);
}
//2、操作數據庫(發送sql)
$sql="select *from user1";
//3、處理結果
$res =$mysqli->query($sql);
//var_dump($res);
//fetch_assoc fetch_array fetch_object
while($row=$res->fetch_row()){
var_dump($row);
/* foreach($row as $val){
echo '--'.$val;
}
echo '<br/>';*/
}
//4、關閉資源
$res->free();
$mysqli->close();
?>
下面是面向過程的
代碼如下 復制代碼
<?php
header("Content-type: text/html;charset=utf-8");
$mysqli=mysqli_connect("localhost","root","root","test");
if(!$mysqli){
die("連接失敗".mysqli_connect_error());
}
$sql="select *from user1";
$res=mysqli_query($mysqli,$sql);
//var_dump($res);
while($row=mysqli_fetch_row($res)){
foreach ($row as $val){
echo '-'.$val;
}
echo '<br/>';
}
//釋放內存
mysqli_free_result($res);
mysqli_close($mysqli);
?>
2、在PHP中 使用mysqli擴展庫對mysql 的dml操作
代碼如下 復制代碼
<?php
//使用mysqli 擴展庫對mysql的crud 操作
header("Content-type: text/html;charset=utf-8");
$mysqli = new MySQLi("localhost","root","root","test");
if($mysqli->connect_error){
die("連接失敗".$mysql->connect_error);
}
//增加一條記錄
//$sql="insert into user1 (name,password,email,age) values ('lucy',md5('lucy'),'[email protected]',17)";
//刪除一條記錄
//$sql="delete from user1 where id =80";
//更新一條記錄
$sql="update user1 set age=20 where id=7";
$res=$mysqli->query($sql);
if(!$res){
echo "操作失敗".$mysqli->error;
}else{
if($mysqli->affected_rows>0){
echo "成功";
}else{
echo "沒有行受影響";
}
}
//關閉資源
$mysqli->close();
?>
3、進行封裝
代碼如下 復制代碼
<?
class SqlHelper{
private $mysqli;
//這裡先寫死,以後寫死的東西用一個文件來配置
private static $host="localhost";
private static $user="root";
private static $pwd="root";
private static $db="test";
public function __construct(){
$this->mysqli=new MySQLi(self::$host,self::$user,self::$pwd,self::$db);
if($this->mysqli->connect_error){
die("連接失敗".$this->mysqli->connect_error);
}
//設置字符集
$this->mysqli->query("set names utf8");
}
//dql operate
function execute_dql($sql){
$res =$this->mysqli->query($sql) or die($this->mysqli->error);
return $res;
}
//dml operate
function execute_dml($sql){
$res =$this->mysqli->query($sql) or die($this->mysqli->error);
if(!$res){
return 0;//失敗
}else{
if($this->mysqli->affected_rows>0){
return 1;//成功
}else{
return 2;//沒有行到影響
}
}
}
}
?>