এক্সিকিউটিড স্কেল কীভাবে কার্যকর হবে তার ঠিক পরে প্রিন্ট করবেন


26

আমি এমন একটি উপায় অনুসন্ধান করছি যা দিয়ে আমি সম্পাদিত এসকিএল কোয়েরিটি ঠিক এর পরে মুদ্রণ করতে পারি:

$wpdb->query(
                $wpdb->prepare("INSERT 
                                INTO tbl_watchprosite SET 
                                keywords=%s,url_to_post=%s,description=%s,
                                date_captured=%s,crawl_id=%d,
                                image_main=%s,images=%s,brand=%s,
                                series=%s,model=%s,condition=%s,box=%s,
                                papers=%s,year=%s,case_size=%s,status=%s,listed=%s,
                                asking_price=%s,retail_price=%s,payment_info=%s,forum_id=%d",
                                $this->getForumSettings()->search_meta,$element->href,$post_meta['description'],current_time('mysql'),$cid,$post_meta['image_main'],$images,$post_meta[0],$post_meta[1],$post_meta[2],$post_meta[3],$post_meta[4],$post_meta[5],$post_meta[6],$post_meta[7],$status,$post_meta[9],$post_meta[10],$post_meta[11],$this->getForumSettings()->ID)
            );

এটি দুর্দান্ত হবে যদি আমি দেখতে পারি যে কোয়েরিতে কী মান চলছে।

ধন্যবাদ


1
আমি জানি এটি অনেক দেরি হয়ে গেছে তবে ভবিষ্যতের রেফারেন্সের জন্য। আপনি কোয়েরিতে উত্তীর্ণের আগে কেবল প্রস্তুত বিবৃতি প্রতিধ্বনি করতে পারেন। এটা অবশ্যই সহজ হবে।
ম্যাকিয়েজ পাপ্রোকি

উত্তর:


51

$wpdbবস্তুর কিছু বৈশিষ্ট্য যে জন্য সেট পেয়ে আছে:

global $wpdb;

// Print last SQL query string
$wpdb->last_query
// Print last SQL query result
$wpdb->last_result
// Print last SQL query Error
$wpdb->last_error

দ্রষ্টব্য: প্রথমে আপনাকে define( 'SAVEQUERIES', true );নিজের wp-config.phpফাইলটি ওয়ার্ডপ্রেসের মূল ফোল্ডারে সেট করতে হবে।


হুম তবে আমার ক্ষেত্রে $ wpdb-> last_query তে কিছুই নেই।
রাভিসনি

আপনি আছেন defined( 'SAVEQUERIES', true );আপনার wp-config.phpমত বা কিছু ! defined( 'SAVEQUERIES' ) AND defined( 'SAVEQUERIES', true );আপনার স্ক্রিপ্টের মধ্যে? অন্যথায় এটি কাজ করবে না।
কায়সার

হ্যাঁ আমার আছে, আমি মনে করি যে কোয়েরিটি মোটেও চলমান নেই যে কোনও সেটিং নেই $ wpdb-> last_query। :(
রাভিসনি

1
তারপরে wp_debug চালু করুন, যাতে আপনি ত্রুটি বা সতর্কতা পেতে পারেন তবে সেখানে।
কুমার

ওয়ার্ডপ্রেস ডাটাবেস ত্রুটি: [ক্যোয়ারি ফাঁকা ছিল]
রাভিসনি

14

আমি এখানে 3 টি পদ্ধতির তালিকাবদ্ধ করেছি:

  1. পাদলেখগুলিতে SAVEQUERIESসমস্ত প্রশ্নের ব্যবহার এবং মুদ্রণ
  2. $wpdb->last_queryকার্যকর হওয়া সর্বশেষতম ক্যোয়ারী মুদ্রণ করতে ব্যবহার করে এটি ডিবাগিং ফাংশনগুলির জন্য দরকারী।
  3. কোয়েরি মনিটরের মতো প্লাগইন ব্যবহার করা।

আপনার নিজের wp-config.php এ এটি যুক্ত করা দরকার

 define('SAVEQUERIES', true);

তারপরে আপনার থিমের ফুটারে এই কোডটি যুক্ত করুন:

 <?php
  if (current_user_can('administrator')){
   global $wpdb;
   echo "<pre>Query List:";
   print_r($wpdb->queries);
   echo "</pre>";
 }//Lists all the queries executed on your page
?>

অথবা আপনি যদি কেবল শেষ সম্পাদিত ক্যোয়ারীটি মুদ্রণ করতে চান তবে আপনি এটি আপনার $wpdbক্যোয়ারী ফাংশন কলের ঠিক নীচে ব্যবহার করতে পারেন ।

global $wpdb;
echo $wpdb->last_query;//lists only single query

তৃতীয় পদ্ধতিতে ক্যোয়ারী মনিটরের মতো একটি প্লাগইন ব্যবহার করা হবে যা কোনও পৃষ্ঠায় কার্যকরভাবে প্রকাশিত সমস্ত প্রশ্নের তালিকা এবং এর সাথে যুক্ত অন্যান্য বিবরণে এটি দেখায় যে এটি কতটি সারিতে প্রত্যাবর্তন করবে এবং মৃত্যুদন্ড কার্যকর করার জন্য সময় নিয়েছে বা যদি এটি ধীরে ধীরে অনুসন্ধান হয়। http://wordpress.org/plugins/query-monitor/

কেবলমাত্র ডিইভি পরিবেশে এই প্লাগইনটি ব্যবহার করা ভাল ধারণা এবং এটি কোনও লাইভ সাইটে সক্রিয় রেখে দেওয়া উচিত নয়। এছাড়াও, কোয়েরি মনিটর আপনার পৃষ্ঠায় সমস্যাগুলি সৃষ্টি করতে পারে, খুব বেশি ত্রুটি থাকলে আপনার টেমপ্লেট / পৃষ্ঠায় 5XX এর মতো ত্রুটি।


কীভাবে অজ্যাক্স সূচিত ক্যোয়ারী পাবেন?
itazzad

আপনি এজাক্স অ্যাকশন হ্যান্ডলার ফাংশনে একই মুদ্রণ করতে পারেন।
কুমার

3

আপনাকে উভয় ফাংশন যুক্ত করতে হবে, অন্যথায় এটি ত্রুটি কখনও দেখায় না

$wpdb->show_errors(); 
$wpdb->print_error();

এই ফাংশনটি আপনাকে এর মতো যথাযথ ত্রুটি দেখাবে

এখানে চিত্র বর্ণনা লিখুন


1

আমি যুক্ত করতে চেয়েছিলাম যে @ কাইজারের সেরা আপ-ভোট দেওয়া উত্তর পুরোপুরি সঠিক নয়:

// Print last SQL query string
$wpdb->last_query

এটির রিটার্ন এআরএই , একটি স্ট্রিং নয়। সুতরাং শেষ কোয়েরি আউটপুট করতে আপনার এটি করা উচিত:

echo 'Last query: '.var_export($wpdb->last_query, TRUE);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.