mysql_fetch_assoc()的参数计数错误

时间:2012-04-18 14:35:44

标签: php mysql

我正在尝试从Pages表中检索7列,但是它出现了这个错误:mysql_fetch_assoc()的参数计数错误

我必须使用错误的功能,这是正确的使用方法吗?

以下是代码:

<?php
$query="SELECT * FROM Pages";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();
?>

<?php
$array = array();
$i = 0;
while ($i < $num) {
$f1 =  mysql_fetch_assoc($result,$i,"Page","URL","Description","Bounce_Rate",
                         "Avg_Time_On_Page","Page_Views","Click_Rate");
$array[] = $f1;
$i++;
}
echo json_encode($array);
?>

3 个答案:

答案 0 :(得分:2)

您对查询结果运行mysql_fetch_assoc()

$result = mysql_query( "SELECT foo, bar FROM fooTable" );
while ( $row = mysql_fetch_assoc( $result ) ) {
  echo $row['foo']; // $row['bar'] also available
}

请注意文档中此功能的签名:

  

数组mysql_fetch_assoc(resource $ result)

这意味着该函数返回array作为结果。它只接受一个参数,必须是resourceresource是从mysql_query返回的内容。我们通过检查该方法的签名来了解这一点:

  

资源mysql_query(字符串$ query [,resource $ link_identifier = NULL])

此方法返回resource(可与mysql_fetch_assoc一起使用),并接受至少一个参数(查询),以及链接标识符的可选第二个参数(即您的连接到数据库)。

如有疑问,请查看文档。另外mysql_numrows应为mysql_num_rows

答案 1 :(得分:0)

mysql_fetch_assoc()只需要一个mysl_query()的结果参数;

答案 2 :(得分:0)

乔纳森说的话。行计数功能是mysql_num_rows(),而不是mysql_numrows()。