php操作MySQL資料庫(2) PDO方式

2021-08-20 05:16:15 字數 3417 閱讀 1854

$pdo = new pdo(「mysql:host=localhost; dbname=db_name」,username,password);

$pdo -> query()    針對返回有結果的操作    適用於select

$pdo -> exec() 針對沒有返回結果的操作 適用於增刪改

$stmt -> fetch($mode)      獲取一條資料

$stmt -> fetchall($mode) 獲取所有資料

mode可選擇 pdo::fetch_assoc,結果變成關聯陣列

<?php

// pdo運算元據庫例子(查詢)

header("content-type:text/html;charset=utf-8");

// 連線資料庫

$dsn = "mysql:host=localhost; dbname=test";

$pdo = new pdo($dsn,'root','123456789');

/*********** 執行sql語句 *************/

// 設定字符集

$pdo -> exec("set names utf8");

$sql = "select * from users";

$stmt = $pdo -> query($sql);

// 獲取結果集

$data = $stmt -> fetchall(pdo::fetch_assoc);

var_dump($data);

$pdo -> begintransaction()

$pdo -> rollback()

$pdo -> commit()

$pdo -> setattribute(pdo::attr_autocommit,1)

<?php

header("content-type:text/html;charset=utf-8");

// 連線資料庫

$dsn = "mysql:host=localhost; dbname=test";

$pdo = new pdo($dsn,'root','123456789');

// 執行sql語句

// 設定字符集

$pdo -> exec("set names utf8");

// 開啟事務

$pdo -> begintransaction();

// sql語句

$sql1 = "update users set `money`=`money`+1 where `id` = 1 ";

$r1 = $pdo -> exec($sql1);

$sql2 = "update users set `money`=`money`-1 where `id` = 12 ";

$r2 = $pdo -> exec($sql2);

// 做判斷

if($r1 > 0 && $r2 > 0)else

$pdo -> setattribute(pdo::attr_autocommit,1);

sql語句的value裡面的引數,使用問號代替。

$pdo -> prepare($sql)

$stmt -> bindparam(引數位置 | 引數偽名, 變數名(需要有值)) 

$stmt -> bindvalue(引數引數位置 | 引數偽名, 變數名(需要有值)| 具體的值)

$stmt -> bindparam詳解:

$sql = "update users set `money`=100 where id = :num ";

// 注意,這裡必須先給$num賦值

$num = 3;

$stmt -> bindparam(":num",$num);

另一種形式(佔位符變成問號)

$sql = "update users set `money`=100 where id = ? ";

// 注意,這裡必須先給$num賦值

$num = 3;

$stmt -> bindparam(":num",$num);

$stmt -> bindvalue詳解

在使用bindvalue繫結變數後,即使在執行execute之前改變了該變數的值,那麼結果也不會變。

詳細請看這裡這裡寫鏈結內容

$stmt -> execute()

$stmt -> fetch($mode)      獲取乙個結果

$stmt -> fetchall($mode) 獲取所有結果

mode可選擇 pdo::fetch_assoc,結果變成關聯陣列

<?php

// mysqli預處理控制例子(查詢)

header("content-type:text/html;charset=utf-8");

// 連線資料庫

$dsn = "mysql:host=localhost; dbname=test";

$pdo = new pdo($dsn,'root','123456789');

// 設定字符集

$pdo -> exec("set names utf8");

// sql語句

$sql = "select * from users where id > :num ";

// 建立預編譯物件

$stmt = $pdo -> prepare($sql);

// 引數繫結

$num = 3;

$stmt -> bindparam(":num",$num);

// 執行sql語句

$stmt -> execute();

// 獲取結果集

$data = $stmt -> fetchall(pdo::fetch_assoc);

var_dump($data);

PHP 操作mysql資料庫

insert 基本設定 mysql server name localhost mysql username 使用者名稱 mysql password 密碼 mysql database 資料庫 建立連線 conn mysql connect mysql server name,mysql user...

php操作mysql資料庫

1.連線資料庫 mysql connect servername,username,password servername 可選,規定要連線的伺服器。預設是 localhost 3306 username 可選,規定登入所使用的使用者名稱。預設值是擁有伺服器程序的使用者的名稱 password 可選...

PHP操作MySQL資料庫

在mysql connect mysql select db 等函式之前使用,可以忽略掉系統產生的錯誤資訊,然後我們用die 來自定義錯誤資訊 提取資料的時候,除了上面的mysql fetch row,常見的還有mysql fetch assoc和mysql fetch array,具體差別請查閱p...