Javascript 已弃用:mysql_query():mysql扩展已弃用,将来将被删除:请在中改用mysqli或PDO

Javascript 已弃用:mysql_query():mysql扩展已弃用,将来将被删除:请在中改用mysqli或PDO,javascript,php,mysql,wordpress,Javascript,Php,Mysql,Wordpress,我的wordpress+插件网站有问题,请显示以下内容: 已弃用:mysql\u查询:mysql扩展已弃用,将来将被删除:请改用mysqli或PDO 在/home/effdbsmi/public_html/new/erotika/wp content/plugins/sofa front post/sofa front post.php上 第236行 警告:mysql\u查询:用户“root”@“localhost”的访问被拒绝 使用密码:否 在/home/effdbsmi/public_htm

我的wordpress+插件网站有问题,请显示以下内容:

已弃用:mysql\u查询:mysql扩展已弃用,将来将被删除:请改用mysqli或PDO 在/home/effdbsmi/public_html/new/erotika/wp content/plugins/sofa front post/sofa front post.php上 第236行

警告:mysql\u查询:用户“root”@“localhost”的访问被拒绝 使用密码:否 在/home/effdbsmi/public_html/new/erotika/wp content/plugins/sofa front post/sofa front post.php上 第236行

警告:mysql\u查询:无法建立到服务器的链接 在/home/effdbsmi/public_html/new/erotika/wp content/plugins/sofa front post/sofa front post.php上 第236行

警告:mysql_num_rows要求参数1为资源,布尔值 鉴于 在/home/effdbsmi/public_html/new/erotika/wp content/plugins/sofa front post/sofa front post.php上 第236行

在sofa-front-post.php的236行中有这样的代码 第4行:

函数sfp_创建_数据库_表{ 全球$wpdb; $table=$wpdb->前缀“sfp_付款”; 如果mysql_num_行mysql_查询显示像“.$table.”这样的表,则返回=1; $run\u sql=创建表。$TABLE。 id INT非空自动增量, post_id VARCHAR10非空默认值, 用户id VARCHAR10非空默认值, pub_类型VARCHAR20非空默认值为“自由”, paypal_批量长文本非空默认值, 唯一密钥id ;; 需要一个路径“wp admin/includes/upgrade.php”; dbDelta$run_sql;
} 除此之外,您可以忽略所有这些消息:

拒绝使用密码访问用户“root”@“localhost”:否

这是说你没有为MySQL提供密码。提供一个密码,你就可以走了

mysql扩展已弃用,将被删除-除非您想重新设计代码,否则请忽略它,这是一个好主意,但不是必需的

无法建立到服务器的链接-这只是上述密码错误的结果


mysql_num_rows希望参数1是资源-这也是密码错误的结果。

您可以像这样测试表的存在性:

if( $wpdb->get_var("SHOW TABLES LIKE '".$table."'") == $table) return;

警告信息非常清楚地告诉我们mysql扩展已被弃用,将来将被删除:请改用mysqli或PDO

所以我们需要使用mysqli_query而不是mysql_query,在Wordpress中,在您的情况下,代码应该更改如下:

$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if( mysqli_num_rows( mysqli_query( $connection, "SHOW TABLES LIKE '" . $table . "'" ) ) == 1) return;
....

更新你的php,mysql版本,同时更新你的插件使用mysqli查看参考资料,它的工作原理与mysqli稍有不同这里的基本问题是,我认为WordPress为插件提供了自己的方式来连接数据库,而你正试图绕过它。我对WordPress不太了解,无法解释如何修复它。从阅读开始-我认为你不应该直接去接近mysql函数,也不应该直接去mysql函数或PDO,因为WordPress抽象了它们。他可以,但是不应该提供密码-这并不像你建议的那么简单,因为密码来自配置文件。错误的建议:这些函数会被弃用是有原因的。我不认为OP会喜欢在sfpèU支付等一般领域进行一些令人讨厌的sql注入。