簡體   English   中英

帶有SQL中變量的Wordpress查詢

[英]Wordpress query with variable in SQL

為什么此代碼給出空數組:

$category = 3;
$man = 'HP';

$query_join = $wpdb->get_results('SELECT wp_products.product_manufacturer
                                    FROM wp_products
                                    JOIN wp_categories
                                    ON wp_products.category_id=wp_categories.id
                                    WHERE ' . $category . ' = wp_products.category_id
                                    AND ' . $man . ' = wp_products.product_manufacturer
                                ');
var_dump($query_join);

這段代碼為數組提供了一個結果:

$category = 3;


$query_join = $wpdb->get_results('SELECT wp_products.product_manufacturer
                                    FROM wp_products
                                    JOIN wp_categories
                                    ON wp_products.category_id=wp_categories.id
                                    WHERE ' . $category . ' = wp_products.category_id
                                    AND "HP" = wp_products.product_manufacturer
                                ');
var_dump($query_join);

我如何處理第一個代碼中的變量以獲得類似secound的結果?

這個:

AND ' . $man . ' = wp_products.product_manufacturer

會產生

AND HP = wp_products.product_manufacturer
    ^^---- 

請注意, HP周圍沒有引號,這使數據庫將其解釋為FIELD名稱。

嘗試

 AND "' . $man . '" = wp_products.product_manufacturer
     ^------------^

注意額外的報價。 請注意,您對sql注入攻擊持開放態度

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM