版本: v2.3.0
debug
generated SQL को execute किए बिना दिखाने के लिए debug mode सक्षम करता है।
debug()
रिटर्न वैल्यू
[Medoo] डिबग मोड सक्षम के साथ Medoo इंस्टेंस।
Medoo generated SQL को execute किए बिना दिखाता है। जाँच पूरी होने के बाद debug mode बंद कर दें।
जनरेट किया गया SQL
वर्तमान क्वेरी द्वारा उत्पन्न SQL का निरीक्षण करने के लिए
debug() का उपयोग करें।$database->debug()->select("bccount", [
"user_name",
"email"
], [
"user_id[<]" => 20
]);
// आउटपुट:
// SELECT "user_name","email" FROM "bccount" WHERE "user_id" < 20
खतरनाक मामला
कुछ मामलों में, एक ही अनुरोध एकाधिक SQL क्वेरी निष्पादित करता है। यदि आप एक क्वेरी पर
debug() पर कॉल करते हैं, तो अगला कोड अभी भी चलता है, जिससे अप्रत्याशित व्यवहार हो सकता है।// इससे कोई आउटपुट नहीं मिलेगा।
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com"
]);
// यह जनरेट की गई क्वेरी दिखाता है।
$post_id = $database->debug()->get("post", "post_id", ["user_name" => "foo"]);
// सावधान: यह क्वेरी वास्तव में चलेगी। ऊपर debug() चल चुका है, इसलिए $post_id अब false है।
$database->update("account", [
"level[+]" => 5,
"post" => $post_id
], [
"user_name" => "foo"
]);
लॉगिंग डीबग करें
प्रत्येक क्वेरी में
debug() जोड़े बिना अपने प्रोजेक्ट को डीबग करने के लिए, लॉगिंग प्रारंभ करने के लिए beginDebug() पर कॉल करें। फिर लॉगिंग रोकने के लिए debugLog() पर कॉल करें और सभी एकत्रित SQL स्टेटमेंट को एक सरणी के रूप में लौटाएं।// डिबग लॉगिंग शुरू करें।
$database->beginDebug();
// ये क्वेरियाँ निष्पादित नहीं होतीं; इन्हें डिबग लॉग में दर्ज किया जाता है।
$database->select("account", ["user_name", "email"], ["user_id[<]" => 20]);
$database->update("account", ["level[+]" => 1], ["user_id[>]" => 100]);
// लॉगिंग रोकने और दर्ज की गई सभी SQL स्टेटमेंट लौटाने के लिए debugLog() कॉल करें।
var_dump($database->debugLog());
// आउटपुट:
array(2) {
[0]=> string(10) "SELECT ... FROM"
[1]=> string(10) "UPDATE ... SET ... WHERE ..."
}