我正在尝试从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);
?>
答案 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
作为结果。它只接受一个参数,必须是resource
。 resource
是从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()。