0

ユーザーがアップロードした写真の数を確認できるようにしたいと思っています。

このコードは次のとおりです。

$result = mysql_query("select count(1) from userid = '$userid' where FROM picture");
$row = mysql_fetch_array($result);

$total = $row[0];
echo "Total picture: " . $total;

しかし、それは何も示していません。「userid」を削除すると、picture テーブルのすべての行がカウントされます。

私は試して失敗しました。

エラー:

警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定しており、14 行目に指定されたブール値です。

4

2 に答える 2

1

これは次の方法で実行できますmysql_num_rows

mysql_num_rows— 結果の行数を取得する

お気に入り:

echo mysql_num_rows($result);

また、このmysql_* APIは PHP 5.5 以降では非推奨になっているため、PDOまたはmysqliを使用してください。

于 2013-04-14T08:41:12.973 に答える
1

$result行セットではないなど、SQL クエリが正しくありません。これが、 でエラーが発生する理由ですmysql_fetch_array()。仮説*で、mysql_error()そのクエリを実行した直後に確認していれば、発生したエラーがわかります。

クエリは次のとおりです。

select count(1) from userid = '$userid' where FROM picture

次のようなものが必要です。

SELECT count(1) AS picture_count FROM picture WHERE userid = '$userid'

その後、 で合計を取得できます$row['picture_count']

*他の人がアドバイスしたように、mysql_*機能は非推奨です。PHP のマニュアルを参照してください。

この拡張モジュールは PHP 5.5.0 で非推奨になりました。将来的に削除されるため、新しいコードを書くことはお勧めしません。代わりに、mysqli または PDO_MySQL 拡張機能を使用する必要があります。MySQL API を選択する際のさらなるヘルプについては、MySQL API の概要も参照してください。

mySql改良 (mysqli_*)関数は、最も簡単に実装できます。

于 2013-04-14T08:54:27.527 に答える