## prepare()用法
## prepare(數據庫執行語句)
## bindParam() 插入的數據值
## ?,? 占位方法
===============================================
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$user_name='guofucheng'; //要寫入的值
$password= md5("123456"); //要寫入的值
$sql="insert into maik (user_name,password) values (?,?)"; //插入數據 ?,?為占位符
$stmt=$db->prepare($sql);
$stmt->bindParam(1,$user_name); //按順序插入
$stmt->bindParam(2,$password); //按順序插入
$stmt->execute();
~~~
# 第二種方法:(常用)
## prepare()用法
## prepare(數據庫執行語句)
## bindParam() 插入的數據值
<h2>( :名稱 )占位方法</h2>
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$user_name='guofu'; //要插入的值
$password= md5("123456"); //要插入的值
$sql="insert into maik (user_name,password) values (:user_name,:password)"; //用(:名稱方法)
$stmt=$db->prepare($sql); //防止SQL注入
$stmt->bindParam(":user_name",$user_name); //用(:名稱方法)
$stmt->bindParam(":password",$password);
$stmt->execute();
~~~
# 第三種方法:(經常用:重點)
## 數組方法:
## prepare()用法
## prepare(數據庫執行語句)
## 數組[':方法二的名字'=>值]
## $stmt->execute(數組);
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$user_name='xxxxxs'; //要插入的值
$password= md5("123456"); //要插入的值
$sql="insert into maik (user_name,password) values (:user_name,:password)"; //SQL語句
$data=[':user_name'=>$user_name,':password'=>$password];
$stmt=$db->prepare($sql); //防止MSQL注入
$stmt->execute($data);
~~~
# 修改數據值
:id占位符方法安全防止SQL注入
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$user_name='laozhuzhu'; //要修改的值
//$sql="insert into maik (user_name,password) values (:user_name,:password)";
$sql="UPDATE maik SET user_name=:name WHERE id>:id"; //修改語句
$data=[':name'=>$user_name,':id'=>6]; //寫成數組
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute($data); //執行值
~~~
# 刪除數據值:
:id占位符方法安全防止SQL注入
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$sql="DELETE FROM maik WHERE id=:id"; //刪除數據條件是id
$data=[':id'=>13]; //寫成數組
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute($data); //執行值
~~~
# 查詢數據
## fetchAll() //返回所有二維數組
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute(); //執行準備查詢
$stmt->fetchAll(); //返回所有數組
~~~
## fetchAll(PDO::FETCH_ASSOC) //返回所有二維關聯數組
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute(); //執行準備查詢
var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); //返回所有二維關聯數組
~~~
## fetchAll(PDO::FETCH_NUM); //返回所有二維索引數組
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute(); //執行準備查詢
var_dump($stmt->fetchAll(PDO::FETCH_NUM)); //返回所有關聯索引二維數組
~~~
## fetch(PDO::FETCH_ASSOC)返回一個關聯數組
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute(); //執行準備查詢
var_dump($stmt->fetch(PDO::FETCH_ASSOC)); //返回一個關聯數組
~~~
## 注意:fetchall返回的是二維數組
## fetch返回的是一維度數組
<br/><br/><br/>
## rowCount()返會Mysql查詢條件的所有行數
注意:這里獲取的不少Mysql所有行數,是mysql查詢條件的所有行數。
~~~
$db=new PDO('mysql:host=127.0.0.1;dbname=guo;port=3306;charset=utf8','root','root'); //鏈接數據庫
$sql="SELECT *FROM maik";
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute(); //執行準備查詢
echo $res=$stmt->rowCount();
~~~
## errorCode() 獲取錯誤碼
##
## errorinfo() 獲取錯誤信息數組形式
~~~
$sql="SELECT *FROM ddmaik";
$stmt=$db->prepare($sql); //執行操作語句
$stmt->execute(); //執行準備查詢
$stmt->fetch(PDO::FETCH_ASSOC); //返回一個關聯數組
var_dump( $res=$stmt->errorinfo()); //查詢錯誤
~~~
- 變量刪除查找與static靜態變量
- 賦值原理
- global涵數引入全局變量使用
- 數據類型
- 數據類型判斷is_
- PHP輸出
- PHP指針(取址運算)
- PHP運算符
- 常量
- 字符串
- 字符串添加反斜杠函數addslashes($變量)
- htmlspecialchars()轉字符實體
- int strcmp()判斷2個字符串大小
- strstr() 查找字符串
- 字符串常用系統內置函數
- 控制流之if
- switch判斷方法
- while循環
- for循環
- 跳出循環
- PHP文件引文入( include與require)
- PHP文件引入include_once與require_once
- 函數(函數各種應用以及約束方法)
- global 引入函數外的變量
- 函數的遞歸
- 數組(遍歷方法)與( foreach()遍歷方法)
- 數組函數
- PHP時間操作
- 常用數學內置函數
- 正則表達式
- PHP 九大超全局變量(內置的)
- 超全局變量$_SERVER的詳細介紹
- PHP類
- 類的$this
- 類的構造方法__construct()
- 類的修飾符 public private protected
- 類的繼承
- 類的多態(instanceof)方法
- 類的靜態方法與常用關鍵字(final static self parent clone )
- 類的__set() __get() 方法
- 類的重載
- 類的__call()與__callstatic()方法
- 類的抽象類與方法
- 抽象類接口interface (實現子類繼承多個抽象類)
- 類的trait (解決單繼承的限制)
- 命名空間
- 類的魔術常量以及系統函數
- mysql數據庫
- 數據庫的概念
- SQL語句規范
- 數據庫字段類型
- 字段是屬性(創建數據庫字段用)
- 數據庫操作(增刪改)
- 數據表與字段(DDL)(增刪改)
- 數據的操作(DML)(增刪改)
- 數據的查詢數據(最重要最核心經常看)
- 數據庫 字符集 引擎 校對等
- cookie創建使用與刪除
- session創建使用與刪除
- 在cookie禁止的情況下session的使用方法
- session的配置以及session與cookie的區別
- session實戰登錄
- PHP文件處理函數
- PHP打開讀取寫入文件
- file_get_contents GET請求接收
- PHP文件上傳以及過大報錯解決方案
- 驗證并控制上傳格式與大小
- 判斷是否有目錄(如果沒有就創建目錄)
- 上傳文件到目錄move_uploaded_file()
- 圖片上傳用class寫法
- PDO鏈接數據庫與exec()使用(只能用于增,刪,改)
- PDO-推薦方法prepare() 增刪改查
- 關于PDO類種事務使用
- 類的單例模式寫法
- 自動加載autoload()
- composer安裝與使用
- PHP操作XML
- PHP操作JSON
- curl GET與POST請求接收
- 自己封裝的一些實用函數
- 微信公眾號開發
- 常見問題以及解決
- PHP反序列化HTML
- try catch嘗試執行與異常
- json 對象轉字符串數組的方法可以在用json_e轉數組