คำถามติดแท็ก wpdb

คลาส wpdb ซึ่งเข้าถึงผ่านตัวแปร $ wpdb global ใช้เพื่อโต้ตอบกับฐานข้อมูล WordPress

6
การใช้ wpdb เพื่อเชื่อมต่อกับฐานข้อมูลแยกต่างหาก
ฉันต้องการเชื่อมต่อwpdbกับฐานข้อมูลอื่น ฉันจะสร้างอินสแตนซ์และส่งผ่านชื่อฐานข้อมูล / ชื่อผู้ใช้ / รหัสผ่านได้อย่างไร ขอบคุณ
86 database  wpdb  mysql 

3
คุณเตรียมงบ% LIKE% SQL อย่างถูกต้องอย่างไร
ฉันต้องการใช้คำสั่ง LIKE% text% ในขณะที่ยังคงใช้คลาส WordPress $ wpdb เพื่อฆ่าเชื้อและเตรียมการป้อนข้อมูล SELECT column_1 from `prefix_my_table` WHERE column_2 LIKE '%something%'; ฉันได้ลองทำสิ่งนี้เพื่อประโยชน์: $wpdb->prepare( "SELECT column_1 from `{$wpdb->base_prefix}my_table` WHERE column_2 LIKE %s;", like_escape($number_to_put_in_like)); คุณเตรียมคำสั่ง% LIKE% SQL อย่างถูกต้องโดยใช้คลาสฐานข้อมูล WordPress อย่างไร
34 mysql  wpdb  sql 

3
ฉันควรใช้การเตรียม wpdb หรือไม่
ฉันใหม่กับ SQL และฉันสงสัยว่าถ้าฉันต้องใช้wpdb->prepareสำหรับแบบสอบถามต่อไปนี้ในตารางที่ฉันสร้างขึ้น global $wpdb; $tablename = $wpdb->prefix . "my_custom_table"; $sql = "SELECT * FROM " . $tablename . " ORDER BY date_created DESC"; $resulst = $wpdb->get_results( $sql , ARRAY_A ); ฉันจำเป็นต้องใช้prepareที่นี่หรือไม่? ฉันจะทำอย่างไร ไชโย

4
วิธีการพิมพ์ sql excuted ทันทีหลังจากการดำเนินการ
ฉันกำลังค้นหาวิธีที่ฉันสามารถพิมพ์แบบสอบถาม sql ดำเนินการหลัง: $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) ); นี่จะดีมากถ้าฉันสามารถดูว่ามีค่าอะไรบ้างในแบบสอบถาม ขอบคุณ
26 wp-query  wpdb 

5
แบบสอบถามเพื่อเรียงลำดับรายการตามเมตาคีย์ก่อน (ถ้ามี) และแสดงโพสต์ที่เหลือโดยไม่ต้องคีย์เมตาเรียงตามชื่อ
ฉันกำลังทำงานกับเทมเพลตหน้าคำศัพท์ taxonomy ที่กำหนดเองซึ่งเราต้องการให้รายการที่เชื่อมโยงกับคำที่เรียงตามวันที่เผยแพร่ (ฟิลด์วันที่กำหนดเอง) - และหากมีหลายรายการในวันเดียวกัน (จัดรูปแบบเช่น YYYY-MM- DD) เพื่อจัดเรียงรายการเหล่านั้นตามชื่อและในที่สุดก็เรียงลำดับตามชื่อเรื่องหากฟิลด์ที่กำหนดเองยังไม่ได้กรอก (รายการเก่า) ดังนั้นฉันจึงลองใช้วิธีที่แตกต่างกันหลายร้อยวิธีด้วย WP_query และมันส่งคืนผลลัพธ์ส่วนใหญ่ตามที่ฉันต้องการ - แต่ในกรณีนี้มันจะคืนค่ารายการที่มี meta_key ของ publication_date เท่านั้น รายการอื่น ๆ ทั้งหมดจะถูกละเว้นและไม่แสดง ฉันลองใช้ meta_query โดยใช้ความสัมพันธ์ของ "หรือ" และเปรียบเทียบสิ่งพิมพ์_dateว่าเป็น EXISTS และไม่ใช่ EXISTS แต่ได้ผลลัพธ์ 0 รายการกลับมาให้ฉัน นอกจากนี้ไซต์ยังคงทำงาน 3.5.2 และพวกเขาไม่ต้องการอัพเกรด นี่คือข้อความค้นหาล่าสุดของฉันที่ทำให้ฉันได้รับโพสต์ที่มีฟิลด์ที่กำหนดเองสิ่งพิมพ์_dateตามลำดับที่ถูกต้อง: $term = get_queried_object(); // find the term of the taxonomy page we …

4
$ wpdb-> get_row () ส่งคืนแถวเดียวหรือไม่
ทำไมล่ะ ฉันลองใช้คำค้นหาเดียวกันในคอนโซลและส่งคืนหลายแถว นี่คือแบบสอบถาม: $this->wpdb->get_row("SELECT * FROM ".$this->wpdb->users." WHERE status = 'active'", ARRAY_A); มันจะส่งคืนแถวเดียวเหมือนเดิมเมื่อมีผู้ใช้หลายคน ฉันพลาดอะไรไปรึเปล่า?
21 wpdb 

5
แสดงข้อผิดพลาดพร้อมการอัปเดต $ wpdb
ฉันใช้$wpdb->updateเพื่ออัปเดตตารางที่กำหนดเองที่ฉันมีในฐานข้อมูลของฉัน เมื่อฉันvar_dumpผลลัพธ์มันจะส่งคืน: int(0) ดังนั้นฉันจึงพยายามที่$wpdb->print_error()จะดูว่ามีอะไรผิดปกติ อย่างไรก็ตามมันไม่แสดงอะไรเลย ฉันลอง$wpdb->show_errors()แล้ว แต่มันก็ไม่แสดงอะไรอีก เอกสาร wpdbไม่ได้ไปลงรายละเอียดมากเกี่ยวกับวิธีการใช้ฟังก์ชั่นเหล่านี้ดังนั้นผมไม่แน่ใจว่าฉันกำลังใช้พวกเขาอย่างถูกต้อง แต่ทำไมผลลัพธ์ของการอัพเดตตารางจึงส่งคืนค่า 0 และไม่แสดงข้อผิดพลาดใด ๆ
21 errors  wpdb 

3
WPDB Insert หรือถ้ามีอยู่ Update
ฉันไม่คุ้นเคยกับ WPDB หรือ SQL ทั่วไป แต่ฉันมีตารางที่กำหนดเองสำหรับโครงการของฉันและฉันพยายามกำหนดข้อมูลเมตาให้กับมัน สิ่งที่ฉันต้องการ "เกิดขึ้น" คือถ้ามีแถวอยู่ให้อัปเดตและไม่แทรก ฉันอ่านทั้งการแทรกและการปรับปรุงใน WPDB Codex แต่ไม่ได้เข้าไปในสถานการณ์ "อย่างใดอย่างหนึ่งหรือ" ฉันคิดว่าฉันสามารถทำงานกับการอัปเดตได้ดังนั้นโค้ดของฉันจะมีลักษณะดังนี้: $wpdb->update( $wpdb->prepare( $wpdb->prefix.'item_info', array( 'post_id' => $post_id, 'item_stock' => $item_stock ), array('post_id' => $post_id) ) ); WordPress มีอะไรเช่น "IF อยู่ Update, ELSE แทรก" หรือฉันจำเป็นต้องเรียกใช้ SQL ที่กำหนดเองเพื่อให้บรรลุนี้หรือฉันต้องค้นหาฐานข้อมูลก่อนเพื่อดูว่ามี ID อยู่ในตารางของฉันหรือไม่จากนั้นตัดสินใจว่าจะอัปเดต มันหรือใส่มัน?
21 database  wpdb  sql 

2
จำเป็นต้องใช้คำนำหน้า $ wpdb-> ในตารางที่กำหนดเองหรือไม่
ขออภัยหากคำถามนี้เล็กน้อย ฉันเพิ่งเริ่มพัฒนาปลั๊กอินใน WordPress ในบทเรียนทั้งหมดที่ฉันพบนี้: ในขณะที่สร้างตารางที่กำหนดเอง$wpdb->prefixถูกนำมาใช้ ตัวอย่าง: $table_name = $wpdb->prefix . "liveshoutbox"; คำถามของฉัน: จำเป็นต้องใช้$wpdb->prefixหรือไม่? จะเกิดอะไรขึ้นถ้าฉันไม่ใช้คำนำหน้าสำหรับตารางที่กำหนดเองของฉัน

2
วิธีเปลี่ยนชื่อผู้ใช้โดยทางโปรแกรม (user_login)?
เช่นเดียวกับในชื่อจะเปลี่ยนการเข้าสู่ระบบของผู้ใช้โดยทางโปรแกรมอย่างไร ฉันต้องการใช้wp_insert_userฟังก์ชั่น แต่ปรากฏว่าเมื่ออัปเดตผู้ใช้ปัจจุบันจะไม่เปลี่ยนชื่อผู้ใช้ ฉันควรใช้$wpdb->updateสิ่งนั้นหรือไม่? ถ้าใช่รหัสสำหรับการเปลี่ยนชื่อผู้ใช้จะเป็นอย่างไร การเปลี่ยนแปลงการเข้าสู่ระบบของผู้ใช้จะมีผลอะไรบ้างเนื่องจาก WordPress API ไม่อนุญาตให้เปลี่ยนชื่อผู้ใช้

2
วิธีส่งคืนจำนวนแถวที่พบจากแบบสอบถามแบบใช้เลือกข้อมูล
ฉันเขียนฟังก์ชันที่ควรคืนค่าจำนวนแถวที่พบในแบบสอบถามแบบใช้เลือกข้อมูล แต่ดูเหมือนว่าจะส่งคืน 0 หรืออาร์เรย์เสมอ ฉันยุ่งกับสิ่งนี้มาประมาณหนึ่งชั่วโมงแล้วและฉันก็ยังนึกไม่ออก! ฉันแน่ใจว่าฉันกำลังทำอะไรผิดพลาดอย่างโง่เขลา ตาราง MySQL +--------+-------------+---------------------+ | postid | ip | time | +--------+-------------+---------------------+ | 1234 | 192.168.0.1 | 2014-01-29 14:27:02 | | 5678 | 192.168.0.2 | 2014-01-29 14:27:02 | +--------+-------------+---------------------+ PHP ### Search for IP in database function postviews_get_ip($id, $ip) { global $post, $wpdb; $wpdb->get_results("SELECT * …
15 php  database  mysql  wpdb 

3
wpdb-> insert: ฉันต้องเตรียมการฉีด SQL หรือไม่?
ฉันต้องใช้การเตรียม wpdb ก่อนที่จะแทรก wpdb-> หรือไม่ หากฉันกำลังแทรกค่าลงในตาราง wordpress โดยใช้ wpdb-> insert ฉันต้อง "ล้าง" ข้อมูลของฉันก่อนที่จะแทรกมันหรือวิธีนี้ (wpdb-> insert) ทำเพื่อฉันหรือไม่
14 wpdb 

3
$ wpdb จะไม่แทรก NULL ลงในคอลัมน์ตาราง
เมื่อฉันลองทำอะไรแบบนี้ $status = NULL; $wpdb->update( 'table', array( 'status' => $status, ), array( 'id' => 1 ) ); ในคอลัมน์ 'สถานะ' ตอนนี้ฉันมีสตริงว่างเปล่า''มันจะไม่ตั้งเป็น NULL คอลัมน์สามารถเป็นค่า NULL แน่นอน ฉันได้ทดสอบ $ wpdb-> query และ $ wpdb-> เตรียมพร้อมแล้วและผลลัพธ์ก็เหมือนกัน ฉันกำลังทำอะไรผิดหรือเปล่า?
13 database  wpdb 

9
วิธีดูแบบสอบถามการดำเนินการปัจจุบันใน wordpress คืออะไร?
ฉันทำงานกับ wordpress ซึ่งเป็นสิ่งใหม่สำหรับฉันตอนนี้ฉันได้รับเว็บไซต์ที่ออกแบบมาอย่างสมบูรณ์ใน wp แต่ปัญหาคือฉันไม่สามารถค้นหาข้อความค้นหาสำหรับแต่ละหน้าที่ / หน้าที่ฉันพบ $wpdb->get_results ใช้สำหรับรับผลจากฐานข้อมูลและนี่ไม่ทำงาน $wpdb->queries มีวิธีพิมพ์คิวรีแต่ละรายการที่ดำเนินการอยู่หรือไม่? กรุณาช่วย.
12 wpdb 

4
get_results ใช้ wpdb
ฉันพยายามดึงข้อมูลในฐานข้อมูลของฉัน ฉันต้องการที่จะแสดงทั้งหมดpagesโดยใช้คำสั่งนี้ แต่ฉันว่างเปล่าARRAY global $wpdb; $result = $wpdb->get_results ( " SELECT * FROM $wpdb->wp_posts WHERE post_type = 'page' " ); echo $result; // display data เอาท์พุท: ARRAY แก้ไข : หลังจากเปลี่ยนคำแนะนำด้านล่างตอนนี้ฉันใช้สิ่งนี้ แต่ฉันยังไม่ได้รับผลลัพธ์ใด ๆ : global $wpdb; $posts = $wpdb->wp_posts; $result = $wpdb->get_results( " SELECT * FROM $posts WHERE 'post_type' = 'page' …
12 database  query  wpdb 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.