[英]Wordpress not executing mysql_query()
我已經將舊版本的Wordpress(3.0.1)更新為4.4.2。 一切正常,除了一個插件,該插件具有這種樣式的所有查詢。 我已經使用一個自定義頁面來測試一個簡單的查詢,並且可以驗證該查詢沒有返回任何內容:
$query = "SELECT code FROM wp_kk_video WHERE id = '0'";
$result = mysql_query ($query);
然后,我將查詢替換為以下內容:
$query = $wpdb->get_row( "SELECT code FROM wp_kk_video WHERE id = '0'" );
$result = $query->code;
而且效果很好。
那么,為什么Wordpress停止執行舊類型的mysql_query
查詢?
mysql_ *已被棄用,現在在新版本的Php中不可用。
意見建議:
使用PHP 5.3+或5.4+(目前不支持PHP 5.5+ PHP 5.6+ PHP 7.0+ PHP 7.1+)。
或對WordPress 4.4使用mysqli_*
擴展名。
或者在最后一次更改查詢中,按wordpress $wpdb->get_row
。
插件應始終使用wpdb類/變量抽象,以使像您這樣的更新不會破壞您的博客,因為Wordpress代碼已經看起來可以使用哪些mysql *功能了。
他們還提供了准備好的語句,這些語句應用於防止SQL注入攻擊。 如果示例中的id參數是用戶提供的值,因此可能是邪惡的輸入,則應將其重寫為以下內容,以確保安全:
$wpdb->query( $wpdb->prepare(
"SELECT code FROM wp_kk_video WHERE id = '%d'",
$video_id
) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.