Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress mysql_fetch_array()要求参数1为资源错误_Php_Mysql_Wordpress - Fatal编程技术网

Php Wordpress mysql_fetch_array()要求参数1为资源错误

Php Wordpress mysql_fetch_array()要求参数1为资源错误,php,mysql,wordpress,Php,Mysql,Wordpress,使用mysql非常新,但是,我正在尝试修复wordpress插件中一段旧代码中的一个错误-以下是原始代码: $sql = mysqli_query("SELECT count(`question_count`) as Qcount FROM `wp_posts` WHERE `question_count` = 1 and `question_date` = '".date("Y-m-d")."'") or die(mysql_error()); $no_o

使用mysql非常新,但是,我正在尝试修复wordpress插件中一段旧代码中的一个错误-以下是原始代码:

        $sql = mysqli_query("SELECT count(`question_count`) as Qcount FROM `wp_posts` WHERE `question_count` = 1 and `question_date` = '".date("Y-m-d")."'") or die(mysql_error());  

        $no_of_questions = get_option( 'askme_setting_no_of_questions', 10 );
            if($row = mysql_fetch_array($sql)) {        
                $qry = $row['Qcount'];  
            }       
            if($qry >= $no_of_questions) {      
                $value = "The question limit for today has been reached";           
                $button = "disabled";   
            } else {        
                $value = "Add your question to the cart";           
                $button = " ";  
            }  
出现以下错误:

mysqli_query() expects at least 2 parameters, 1 given in
此后,我将第一行更改为使用Wordpress函数,如下所示:

$sql = $wpdb->get_results( "SELECT count(`question_count`) as Qcount FROM `wp_posts` WHERE `question_count` = 1 and `question_date` = '".date("Y-m-d")."'" ); 
现在会出现以下错误:

mysql_fetch_array() expects parameter 1 to be resource, array given in ...
Undefined variable: qry in ...

这里有什么明显的错误吗?

你把事情搞混了

mysql
mysqli
是PHP中两组完全不同的函数。您不能使用
mysqli\uu
函数发送查询,也不能使用
mysql\u*
操作结果

另外,
mysql
函数在PHP5的更高版本中被弃用,在PHP7中被完全删除


您最好的选择是遵循@tadman的建议,并使用WP的API来实现这一点

你把事情搞混了

mysql
mysqli
是PHP中两组完全不同的函数。您不能使用
mysqli\uu
函数发送查询,也不能使用
mysql\u*
操作结果

另外,
mysql
函数在PHP5的更高版本中被弃用,在PHP7中被完全删除


您最好的选择是遵循@tadman的建议,并使用WP的API来实现这一点

是您唯一更改
$sql=
行的行吗

从wordpress抄本:

global $wpdb;
$results = $wpdb->get_results( 'SELECT * FROM wp_options WHERE option_id = 1', OBJECT );
应根据返回结果的数组或对象。 因此,您的代码不需要执行任何与fetch_assoc相关的方法。Wordpress正在处理实际的数据库连接和查询解析,并将结果返回给您

可能的解决办法:

// formatting for readability.
$date = date("Y-m-d");
// Prepare query.
$sql = $wpdb->prepare(
  "SELECT count(`question_count`) as Qcount 
  FROM `wp_posts` 
  WHERE `question_count` = 1 
  AND `question_date` = %s",
  $date
);
// Execute query.
$results = $wpdb->get_results($sql);

// Get option for number of questions.
$no_of_questions = get_option( 'askme_setting_no_of_questions', 10); 

// Set base values to avoid usage of else condition.  
$value = "Add your question to the cart";
$button = " ";

// Check to ensure results returned.
if (!empty($results)) {
  // Evaluate result of query.
  if ($results[0]->Qcount >= $no_of_questions) {
    // Update values only if necessary.
    $value = "The question limit...";
    $button = "disabled";
  }
}

您是否只更改了
$sql=

从wordpress抄本:

global $wpdb;
$results = $wpdb->get_results( 'SELECT * FROM wp_options WHERE option_id = 1', OBJECT );
应根据返回结果的数组或对象。 因此,您的代码不需要执行任何与fetch_assoc相关的方法。Wordpress正在处理实际的数据库连接和查询解析,并将结果返回给您

可能的解决办法:

// formatting for readability.
$date = date("Y-m-d");
// Prepare query.
$sql = $wpdb->prepare(
  "SELECT count(`question_count`) as Qcount 
  FROM `wp_posts` 
  WHERE `question_count` = 1 
  AND `question_date` = %s",
  $date
);
// Execute query.
$results = $wpdb->get_results($sql);

// Get option for number of questions.
$no_of_questions = get_option( 'askme_setting_no_of_questions', 10); 

// Set base values to avoid usage of else condition.  
$value = "Add your question to the cart";
$button = " ";

// Check to ensure results returned.
if (!empty($results)) {
  // Evaluate result of query.
  if ($results[0]->Qcount >= $no_of_questions) {
    // Update values only if necessary.
    $value = "The question limit...";
    $button = "disabled";
  }
}

您应该首先建立mysqli连接,然后使用查询并进一步获取查询。您可以按照下面的链接使用mysqli获取查询


您应该首先建立mysqli连接,然后使用查询并进一步获取查询。您可以按照下面的链接使用mysqli获取查询


不要使用mysqli作为一个例子。独家使用,不要混搭。这里真正的问题是你试图使用
mysqli
,却无意中使用了破旧的
mysql\u查询
接口。@tadman完全同意你的观点-我的目标是用$wpdb替换对mysqli和mysql\u查询接口的引用(你将从我的第一次更改中看到)-但是,我不知道如何更改代码的第二部分以适应第一部分-如果这样做有意义的话,您不能使用
mysql\u fetch\u array
或类似的东西。忘了那些功能吧,它们没有关联,也不兼容。只使用WPDB函数。在文档中,他们参考
get_row
了解结果,依此类推。使用这些。可能重复的不使用
mysqli
作为一个。独家使用,不要混搭。这里真正的问题是你试图使用
mysqli
,却无意中使用了破旧的
mysql\u查询
接口。@tadman完全同意你的观点-我的目标是用$wpdb替换对mysqli和mysql\u查询接口的引用(你将从我的第一次更改中看到)-但是,我不知道如何更改代码的第二部分以适应第一部分-如果这样做有意义的话,您不能使用
mysql\u fetch\u array
或类似的东西。忘了那些功能吧,它们没有关联,也不兼容。只使用WPDB函数。在文档中,他们参考
get_row
了解结果,依此类推。使用这些。可能是我要写一个答案的副本,但这基本上就是我要说的。我要补充的唯一一点是,OP似乎是在半心半意地尝试从
mysql
转换到
mysqli
。指出
mysql\u query
mysqli\u query
的方法签名是不同的(因此解释了错误消息)。我本来打算写一个答案,但这基本上就是我要说的。我要补充的唯一一点是,OP似乎是在半心半意地尝试从
mysql
转换到
mysqli
。指出
mysql\u query
mysqli\u query
的方法签名是不同的(从而解释了错误消息)。