-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結果として を返すことを意味します。また、1 つのパラメーターのみを受け入れます。これはresource. Aresourceは から返されるものmysql_queryです。これは、そのメソッドの署名もチェックすることでわかります。

リソース mysql_query (文字列 $query [, リソース $link_identifier = NULL ] )

このメソッドは を返しresource(これは で使用できますmysql_fetch_assoc)、少なくとも 1 つのパラメーター (クエリ) と、オプションのリンク識別子 (つまり、データベースへの接続) の 2 番目のパラメーターを受け入れます。

疑問がある場合は、ドキュメントを確認してください。またmysql_numrows、する必要がありますmysql_num_rows

于 2012-04-18T14:37:55.877 に答える
0

ジョナサンが言ったこと。また、行カウント関数は mysql_numrows() であり、mysql_numrows() ではありません。

于 2012-04-18T14:41:27.247 に答える
0

mysql_fetch_assoc() は、mysl_query() の結果であるパラメーターのみを必要とします。

于 2012-04-18T14:40:14.080 に答える