मैं PHP/पीडीओ का उपयोग कर MySQL में मेरी पहली लेन-देन स्थापित करने के लिए कोशिश कर रहा हूँ ...पीएचपी पीडीओ MySQL लेन-देन कोड संरचना
मैं सिर्फ एक त्वरित सवाल है, सबसे अच्छा तरीका है, तो पहले की क्वेरी था निर्धारित करने के लिए है कि क्या सफल या नहीं? यहां मेरे पास अभी है, लेकिन मुझे एक कथन के साथ क्वेरी का परीक्षण करने का एक तरीका मिल जाएगा।
यह एक कामकाजी मॉडल प्राप्त करने के लिए बहुत अधिक नकली कोड है .. मुझे पता है कि कुछ भी अच्छा या बुरा होने पर $ परिणाम प्रभावी ढंग से परीक्षण नहीं कर रहे हैं .. मेरे पास असली सौदा के लिए एक जगह धारक के रूप में और अधिक है समय आता है जब ..
if ($_POST['groupID'] && is_numeric($_POST['groupID'])) {
$sql = "SET AUTOCOMMIT=0";
$dbs = $dbo->prepare($sql);
$dbs->execute();
$sql = "START TRANSACTION";
$dbs = $dbo->prepare($sql);
$dbs->execute();
$sql = "DELETE FROM users_priveleges WHERE GroupID=:groupID";
$dbs = $dbo->prepare($sql);
$dbs->bindParam(":groupID", $_POST['groupID'], PDO::PARAM_INT);
$dbs->execute();
try {
$sql = "DELETE FROM groups WHERE GroupID=:groupID LIMIT 1";
$dbs = $dbo->prepare($sql);
$dbs->bindParam(":groupID", $_POST['groupID'], PDO::PARAM_INT);
$dbs->execute();
$results["error"] = null;
$results["success"] = true;
try {
$sql = "DELETE FROM users WHERE Group=:groupID";
$dbs = $dbo->prepare($sql);
$dbs->bindParam(":groupID", $_POST['groupID'], PDO::PARAM_INT);
$dbs->execute();
$results["error"] = null;
$results["success"] = true;
$sql = "COMMIT";
$dbs = $dbo->prepare($sql);
$dbs->execute();
}
catch (PDOException $e) {
$sql = "ROLLBACK";
$dbs = $dbo->prepare($sql);
$dbs->execute();
$results["error"] = "Could not delete associated users! $e";
$results["success"] = false;
}
}
catch (PDOException $e)
{
$sql = "ROLLBACK";
$dbs = $dbo->prepare($sql);
$dbs->execute();
$results["error"] = "COULD NOT REMOVE GROUP! $e";
$results["success"] = false;
}
}
क्यों नहीं उपयोग पीडीओ के beginTransaction(), प्रतिबद्ध और() पद्धतियों? – GordonM
एलओएल मैंने आज सुबह शुरूआत की प्रक्रिया के बारे में सीखा ... मुझे लगा कि दूसरे दो वहां थे, लेकिन उन्हें अभी तक नहीं देखा था। यह धन्यवाद TODO सूची पर है धन्यवाद! – guyfromfl
इसके अलावा, आपको प्रत्येक कथन तैयार करने की ज़रूरत नहीं है, वास्तव में यह उन लोगों के लिए अपर्याप्त है जिनमें आप किसी भी चर डालने वाले नहीं हैं। बस इसके बजाय क्वेरी() के साथ चलाएं। कोड और अनावश्यक तैयार दोनों पंक्तियों पर बचाता है। – GordonM