วิธีดูแบบสอบถามการดำเนินการปัจจุบันใน wordpress คืออะไร?


12

ฉันทำงานกับ wordpress ซึ่งเป็นสิ่งใหม่สำหรับฉันตอนนี้ฉันได้รับเว็บไซต์ที่ออกแบบมาอย่างสมบูรณ์ใน wp แต่ปัญหาคือฉันไม่สามารถค้นหาข้อความค้นหาสำหรับแต่ละหน้าที่ / หน้าที่ฉันพบ

$wpdb->get_results

ใช้สำหรับรับผลจากฐานข้อมูลและนี่ไม่ทำงาน

$wpdb->queries

มีวิธีพิมพ์คิวรีแต่ละรายการที่ดำเนินการอยู่หรือไม่?

กรุณาช่วย.


คุณต้องการดูแบบสอบถาม SQL ที่กำลังดำเนินการอยู่หรือไม่?
Rutwick Gangurde

ไม่ใช่ว่าฉันจะไม่แนะนำให้รู้จักกับ internals แต่นี่เป็นคำแนะนำสำหรับคำถามอื่นซึ่งคำตอบจะแตกต่างกันมาก คุณพยายามแก้ไขปัญหาอะไร
Annika Backstrom

คำตอบ:



10

ใน$wpdb->queriesการทำงานคุณต้องกำหนดค่าในwp-config.php:

define('SAVEQUERIES', true);

ไม่แนะนำอย่างยิ่งสำหรับการผลิต (การใช้งานหนักมาก) และปิดใช้งานตามค่าเริ่มต้น


นี่เป็นวิธีที่สมบูรณ์แบบ ... +1!
Rutwick Gangurde

6

ฉันมักจะทำสิ่งนี้เมื่อฉันต้องการตรวจสอบแบบสอบถามปัจจุบัน:

add_action( 'wp_head', 'show_current_query' );

function show_current_query() {
    global $wp_query;

    if ( !isset( $_GET['q'] ) )
        return;
    echo '<textarea cols="50" rows="10">';
    print_r( $wp_query );
    echo '</textarea>';
}

หากต้องการแสดงคิวรีปัจจุบันเพียงเพิ่ม?qลงใน URL ปัจจุบัน

สิ่งนี้จะแสดงข้อความค้นหาปัจจุบัน (เก็บไว้ในตัวแปรทั่วโลก $ wp_query) รวมถึงแบบสอบถาม SQL และตัวแปรแบบสอบถามอื่น ๆ ทั้งหมด



0

ส่วนกลาง$wp_queryประกอบด้วยทุกสิ่งเกี่ยวกับแบบสอบถามปัจจุบันรวมถึงอาร์กิวเมนต์ผลลัพธ์เนื้อหาของผลลัพธ์และแบบสอบถามเอง

$wp_query->request ควรทำงานให้คุณที่นี่



0

คุณสามารถใช้ปลั๊กอินWp Pear Debug มันจะแสดงรายการของแบบสอบถามที่ดำเนินการในหน้าจำนวนวินาทีที่แบบสอบถามใช้เพื่อดำเนินการและฟังก์ชั่น php ที่เริ่มต้นแบบสอบถาม โปรดทราบว่าคุณต้องบันทึกการตั้งค่าอย่างน้อยหนึ่งครั้งก่อนที่จะเริ่มทำงาน


0

ไม่จำเป็นต้องติดตั้งปลั๊กอินใด ๆ คุณสามารถใช้สิ่งนี้:

$queried_object = get_queried_object();
var_dump( $queried_object );

ที่มา: Codex


0
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

กล่าวคือ

<?php $wpdb->show_errors();
      $id=$wpdb->update('table_name',$array,$condition);
      $wpdb->print_error();
?>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.