[英]Why isn't my SQL query returning any records?
我試圖獲取我的數據庫表之一中的記錄數,其中post_id
字段等於$postID
比較的$postID
變量。 當我將{$postID}
換成整數(例如130
,查詢將按預期返回結果。 但是,每當我嘗試使用$postID
變量查詢數據庫時,都不會返回任何結果。 我已經檢查了$postID
包含的內容,以確保將post_id
與正確的值進行比較,並且其中包含130
的整數值。
如果查詢使用硬編碼工作的130
代替$postID
,為什么沒有當我使用工作$postID
等於130
呢?
$postID = get_the_ID();
$postLikes = $wpdb->get_results('
SELECT COUNT(*) FROM wp_post_likes WHERE post_id = {$postID}
');
echo "<pre>";
var_dump($postLikes);
echo "</pre>";
變量替換不會在單引號引起來的字符串中發生,請參閱變量解析 。
而且我建議您使用參數化查詢,而不是將有效負載數據混合到實際語句中,請參閱保護查詢免受SQL注入攻擊
$postLikes = $wpdb->get_col($wpdb->prepare(
'SELECT COUNT(*) FROM wp_post_likes WHERE post_id = %s',
get_the_ID()
));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.