-3

我试图从我的 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);
?>
4

3 回答 3

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 ( 资源 $result )

这意味着该函数返回一个array作为其结果。它只接受一个参数,必须是一个resource. Aresource是从 中返回的mysql_query。我们也可以通过检查该方法的签名来知道这一点:

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

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

如有疑问,请查看文档。也mysql_numrows应该是mysql_num_rows

于 2012-04-18T14:37:55.877 回答
0

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

于 2012-04-18T14:40:14.080 回答
0

乔纳森所说的。此外,行计数函数是 mysql_num_rows(),而不是 mysql_numrows()。

于 2012-04-18T14:41:27.247 回答