目前共有67篇帖子。 內容轉換:不轉換▼
 
點擊 回復
3837 66
今天我來系統地學習一下PDO
一派護法 十九級
61樓 發表于:2015-5-31 09:28
$dbh->beginTransaction();
$content = "數據表中已經有相同的內容了。";
if (!empty($content)) {
    $sql = "SELECT * FROM Contents WHERE Content = ?";
    $stmt = $dbh->prepare($sql);
    $stmt->execute(array($content));
    /*$stmt->bindValue(1, $content);
    $stmt->execute();*/
    if ($stmt->rowCount()){
        echo "數據表中已經有相同的內容了。";
    } else {
        $sql = "INSERT INTO Contents (Content, TimeCreated) VALUES (:content, NOW())";
        $stmt = $dbh->prepare($sql);
        $stmt->bindParam(":content", $content);
        $successful = $stmt->execute();
        
        $dbh->rollBack();
        echo "rollback";
        
        /*if ($successful) {
            $num = $stmt->rowCount();
            echo "插入了{$num}條記錄。";
            //echo $stmt->queryString;
        } else {
            echo "插入記錄失敗!";
        }*/
    }
} else {
    echo "沒有內容";
}
一派護法 十九級
62樓 發表于:2015-5-31 09:30
發現一個嚴重的問題,雖然rollback了,但是AUTO_INCREMENT卻增加了!!!!
一派護法 十九級
63樓 發表于:2015-5-31 09:31
一派護法 十九級
64樓 發表于:2015-5-31 09:32
一派護法 十九級
65樓 發表于:2015-5-31 09:36
一派護法 十九級
66樓 發表于:2015-5-31 09:47
$sql = "INSERT INTO Contents (Content, TimeCreated) VALUES (:content, NOW())";
        $stmt = $dbh->prepare($sql);
        $stmt->bindParam(":content", $content);
        $successful = $stmt->execute();
        echo $dbh->lastInsertId();

返回新插入的記錄ID,是一個數字
一派護法 十九級
67樓 發表于:2015-5-31 12:24
<!DOCTYPE html>

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:3837 回複數:66
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2015-5-31 12:24
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。