[英]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.