?? PHP ?????? ??: ????, ?? ? ??? ??
Jun 01, 2024 am 11:43 AM?? PHP ?????? ???? ??? ???? ???? ??? ???? ?? ????, ?? ? ??? ??? ?????. ????? startTransaction(), commit() ? Rollback() ???? ?? ???? ?? ??? ?? ?????. ??? PDO::LOCK_SHARED ? PDO::LOCK_EXCLUSIVE? ?? ???? ?? ?? ???? ?????. ??? ??? MySQL ?? ??(???? ?? ??, ??? ??, ?? ??? ??, ??? ??)? ?? ?? ????? ?? ???? ?????. ?? ????????? ??? ???? ???? ?? ??? ???? ?? ?? ????? ?? ?? ??? ????, ?? ? ??? ??? ?????.
?? PHP ?????? ??: ????, ?? ? ??? ??
PHP? ???? ??????? ?? ??? ? ????, ?? ? ??? ??? ?? ?? ??? ???? ?? ??? ???? ???? ??????? ??? ???? ? ?????.
????
????? ?? ??? ???? ?????? ??? ?????. ?? ????? ?? ??? ?? ????? ?? ???? ?????.
beginTransaction()
, commit()
? rollback()
???? ???? ????? ??, ?? ? ?????. beginTransaction()
、commit()
和 rollback()
方法來啟動、提交和回滾事務:
$db->beginTransaction(); try { // 執(zhí)行數據庫操作 $db->commit(); } catch (\Exception $e) { $db->rollback(); }
鎖
鎖用于防止事務同時訪問相同的數據庫數據。PHP 的 PDO 提供了兩種鎖定模式:
PDO::LOCK_SHARED
:允許事務讀取數據,但不能寫入。PDO::LOCK_EXCLUSIVE
:允許事務讀取和寫入數據,但其他事務無法同時訪問。
要通過 query()
方法對表行進行鎖定:
$stmt = $db->query('SELECT * FROM table WHERE id = 1 FOR UPDATE');
并發(fā)控制
并發(fā)控制機制確保當多個事務同時訪問數據庫時不會發(fā)生數據沖突。MySQL 提供了以下隔離級別:
- 讀未提交 (READ UNCOMMITTED):事務可以讀取其他事務未提交的數據。
- 讀已提交 (READ COMMITTED):事務只能讀取其他已提交的事務的數據。
- 可重復讀 (REPEATABLE READ):事務在整個生命周期內都可以看到其他已提交事務的數據,但不能看到未提交的事務的數據。
- 串行化 (SERIALIZABLE):事務串行執(zhí)行,避免任何并發(fā)沖突。
您可以在連接到數據庫時通過 PDO::ATTR_DEFAULT_FETCH_MODE
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $db->setAttribute(PDO::ATTR_TRANSACTION_ISOLATION, PDO::ISOLATION_READ_COMMITTED);Lock
??? ????? ??? ??? ?????? ???? ????? ?? ???? ? ?????. PHP? PDO? ? ?? ?? ??? ?????:
PDO::LOCK_SHARED
: ????? ???? ?? ?? ??? ? ?? ????.PDO::LOCK_EXCLUSIVE
: ????? ???? ?? ? ? ??? ?? ????? ??? ???? ???? ? ????.
query()
???? ?? ??? ???? ????: // 啟動事務 $db->beginTransaction(); // 鎖定產品行 $stmt = $db->query('SELECT * FROM products WHERE id = :id FOR UPDATE'); $stmt->bindParam(':id', $productId); $stmt->execute(); // 獲取產品數量 $product = $stmt->fetch(); $quantity = $product['quantity']; // 檢查庫存 if ($quantity <= 0) { $db->rollback(); throw new RuntimeException('Product is out of stock.'); } // 更新庫存 $quantity--; $stmt = $db->prepare('UPDATE products SET quantity = :quantity WHERE id = :id'); $stmt->bindParam(':quantity', $quantity); $stmt->bindParam(':id', $productId); $stmt->execute(); // 提交事務 $db->commit();??? ????????? ?? ????? ?? ????? ??????? ???? ? ???? ??? ?????. ??? ??? ??. MySQL? ??? ?? ?? ??? ?????. ??
- ???? ?? ??:????? ?? ?????? ???? ?? ???? ?? ? ????.
- READ COMMITTED: ????? ??? ?? ??????? ???? ?? ? ????.
- REPEATABLE READ: ????? ?? ?? ?? ??? ?? ????? ???? ? ? ??? ???? ?? ????? ???? ? ? ????.
- SERIALIZABLE: ??? ??? ???? ?? ????? ????? ?????.
PDO::ATTR_DEFAULT_FETCH_MODE
??? ?? ?? ??? ??? ? ????. ??rrreee???? ?????????? ??? ??? ? ?? ??? ?? ????? ??????. ????? ??? ???? ?????. ?? ???? ??? ??? ??? ????? ???? ?? ??? ???? ?? ????, ?? ? ??? ??? ???? ??? ???? ??? ? ????. ??rrreee?? ????, ?? ? ??? ??? ???? , ?? ?? ? ??? ?????? ???? ???? ?? ??? ??? ? ????. ??? ??? ?? PHP ?????? ??: ????, ?? ? ??? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ?? ??? ??? ?? JavaScript? MediareCorder API? ?? PHP ???? ???? ?????. 2. PHP? ???? ?? ??? ???? STTAPI (? : Google ?? Baidu ?? ??)? ???? ???? ?????. 3. PHP? ???? AI ??? (? : OpenAigpt)? ????. 4. ?? ?? PHP? TTSAPI (? : Baidu ?? Google ?? ??)? ???? ??? ?? ??? ?????. 5. PHP? ?? ??? ??? ??? ??? ?? ?? ??? ?????. ?? ????? PHP? ?? ???? ?? ?? ?? ??? ??? ?????.

PHP?? ?? ?? ??? ???? ?? ??? ? ???? ?? ??? ???? ?? ??? ???? ???? ????. 1. ?? ?? ??? ?? ??? URL ? ?? ??? ????. 2. UrlenCode? ???? ?? ??? ???????. 3. ? ???? ????? ?? ?? ??? ? ?? ??? ?????. 4. ???? ???? ?? ? ? ??? ??? ??? ??? ?????. 5. ??? ?? ??? ????? ?? ????? OG ??? ???? ?????. 6. XSS ??? ???? ?? ??? ??? ?????. ? ???? ??? ??? ???? ??? ?? ?? ??? ??? ???? ??? ?? ??? ?????.

AI? ??? ??? ?? ?? ? ?? ???? ????? ?? ??? ??????. 1. Baidu, Tencent API ?? ?? ?? NLP ?????? ?? ??? AI ?? ?? API? ??????. 2. PHP? ? ?? guzzle? ?? API? ???? ?? ??? ??????. 3. ?? ????? ?? ?? ??? ???? ???? ???? ??? ??? ? ????. 4. ?? ?? ? ?? ???? ?? PHP-L ? PHP_CODESNIFFER? ??????. 5. ???? ????? ???? ?? ?? ??? ?????? ??? ??????. AIAPI? ??? ? ???, ?? ??, ?? ? PHP ?? ??? ??? ???. ?? ???? PSR ??? ???, ??? ????? ????, ?? ??? ???, ????? ??? ????, X? ???????.

1. ?? ???? ??? ??? ?????? ?? ?? ??? ??, ??? ?? ???? ??? (? : ?? ???, ? ? ??), ?? ??? ?? ???? ???? ? ?? ?? ??? ??? ?? ??? ????????. 2. ?? ??? ??? ?? ? ??? ???? ?? ?? ?? ???? ?? ? ?? AUDIT ?? ??? ??? ? ????? ????? ??? ???????. 3. ?? ?? ??? ?? ??? ???????. Recaptchav3 ???? ??, ??? ?? ?? ?? ?? ??, IP ? ?? ??? ??? ??? ?? ???? ??? ?? ??? ????? ??? ???? ????? ??? ?????.

PHP? AI ??? ??? ?? ????? ??? API? ?? ?????. ??? ??? ????? ? ??? ???? ?????. API ??? ?? ?? ??? ???? ??? ??? ???? ???? ? ????. 2. ?? ?? ???? guzzle ?? curl? ???? HTTP ??? ???, JSON ??? ??? ? ???, API ? ?? ??, ??? ? ?? ??? ???? ??, ??? ?? ?? ? ? ?? ????, ??? ?? ? ?????? ?????. 3. ???? ???? ?? ???? API ??, ?? ? ??? ?? ??, ??? ?? ??, ?? ?? ? ??? ??? ??? ?????. ?? ??? ??? ??? ? ??? ???? Propt ?? ? ?? ?? ??, ??? ?? ? ?? ????, ?? ?? ?? ???? ? ??? ?? ? ???? ????? ?????.

PHP? ?????? ????? ?? ?? ?? ???? ???? ?? ???? ???? ?? ?? ???? ?????. 2. ?? ??? ???? ???? ?? ??? ?? ? ??? ??? ???? ?? API/Webhook ??? ??? ?? ???? ??? ??? ??? ??? ?????. 3. ?? ????? ?? ??, ??/???? ????, ???? ??, ???? ? ??? ?????? ????? ?? ??? ???? ???? ?? Dingtalk, SMS ?? ??? ???? ??? ?????? ???? ?? ? ??? ??? ????? ?? ??? ???? ???????.

PhpisstillRelevantinmodernenterpriseenvironments.1. Modernphp (7.xand8.x)? ??? ??, ??? ??, jitcompilation ? modernsyntax, mateitsuilableforlarge-scalepplications

MAC ?? ???? ? ??? ?? ??? ????? ?? ? ??? ????? ????. 1. ???? ???? ???? ???? ??? ?? ? ?? ????? ??? ???? ??????. 2. ????? ?? ?? ? ??? ???? ???? ?? ?? ????? ??? ???? ?????. 3. ??? ?? ??? ???? ?? ???? ?? ???? ?? ???? ?? ? ? ????. 4. ??? ????? ????? ? ?? ?? ? ??? ?? ? ??? ??????.
