不推荐使用:mysql_query():不推荐使用mysql扩展,将来会删除它:在

时间:2016-05-30 10:09:12

标签: javascript php mysql wordpress

我的wordpress +插件网站出了问题,wp debug告诉我这个:

  

不推荐使用:mysql_query():不推荐使用mysql扩展,将来会删除它:使用mysqli或PDO代替   在/home/effdbsmi/public_html/new/erotika/wp-content/plugins/sofa-front-post/sofa-front-post.php上   线236

     

警告:mysql_query():拒绝访问用户“root”@“localhost”   (使用密码:否)   在/home/effdbsmi/public_html/new/erotika/wp-content/plugins/sofa-front-post/sofa-front-post.php上   线236

     

警告:mysql_query():无法建立指向服务器的链接   在/home/effdbsmi/public_html/new/erotika/wp-content/plugins/sofa-front-post/sofa-front-post.php上   线236

     

警告:mysql_num_rows()要求参数1为resource,boolean   特定   在/home/effdbsmi/public_html/new/erotika/wp-content/plugins/sofa-front-post/sofa-front-post.php上   线236

     

在沙发前面的post-post.php的第236行有代码(这里是in   第4行:

	function sfp_create_database_table() {
			global $wpdb;
			$table = $wpdb->prefix . 'sfp_payments';
			if( mysql_num_rows( mysql_query( "SHOW TABLES LIKE '" . $table . "'" ) ) == 1) return;
			$run_sql = "CREATE TABLE " . $table . " (
					  id INT NOT NULL AUTO_INCREMENT,
					  post_id VARCHAR(10) NOT NULL DEFAULT '',
					  user_id VARCHAR(10) NOT NULL DEFAULT '',
					  pub_type VARCHAR(20) NOT NULL DEFAULT 'free',
					  paypal_bulk LONGTEXT NOT NULL DEFAULT '',
					  UNIQUE KEY id (id)
					  );";
		
			require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
			dbDelta( $run_sql );
		}

我该怎么办?谢谢你们,伙计们......

3 个答案:

答案 0 :(得分:0)

警告信息非常明确告诉我们" mysql扩展已弃用,将来会被删除:使用mysqli或PDO代替......"

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

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

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

答案 1 :(得分:-1)

您可以像这样对表的存在进行测试:

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

答案 2 :(得分:-6)

您可以忽略除此之外的所有消息:

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

它说你没有为MySQL提供密码。提供密码,你就可以了。

“不推荐使用mysql扩展程序并将其删除” - 除非您想重新设计代码,否则请忽略它(这是一个好主意但不是必需的)。

“无法建立指向服务器的链接” - 这只是上面密码错误的结果

“mysql_num_rows()期望参数1是资源” - 这只是密码错误的结果。