私は以下のクエリを実行していますが、INTEGERを返すことを期待していますが、 "Resource id#3"を返す
何が間違っていますか?MySQL PHPのカウント(*)は何か変わったものを返します
$queryPlans = mysql_query("SELECT count(*) FROM infostash.rooms");
echo $queryPlans;
は、実際にこの表の15行があり、私は数15 任意の提案を返したいですか?
私は以下のクエリを実行していますが、INTEGERを返すことを期待していますが、 "Resource id#3"を返す
何が間違っていますか?MySQL PHPのカウント(*)は何か変わったものを返します
$queryPlans = mysql_query("SELECT count(*) FROM infostash.rooms");
echo $queryPlans;
は、実際にこの表の15行があり、私は数15 任意の提案を返したいですか?
あなたが必要:
$queryPlans = mysql_query("SELECT count(*) FROM infostash.rooms");
$row = mysql_fetch_array($queryPlans);
echo $row[0];
mysql_query()
は、結果を返すされていません。ループして行を調べることができるリソースを返しています(上記のように)。
ええ、完璧な仲間がありがとう! –
これは、実際にマニュアルに従って行動を期待されています、SELECTについて
SHOW、DESCRIBE、EXPLAINおよび結果セット、するmysql_queryを(返す他の文)が成功した場合にリソースを返し、エラー時にFALSE。
これは、1つの列で1つの行を返す通常の選択であり、そのように扱う必要があります。あなたはその結果には、mysql_fetch_arrayを呼び出すことができます。
$row = mysql_fetch_array($resource);
$count = $row[0];
$ queryPlans =するmysql_query( "infostash.roomsからのカウント(*)を選択します"); mysql_num_rows($ queryPlans); result resourceを返しmysql_query()
グループ化されていないCount(*)の結果レコードは1つだけなので、常に1が返されます。 – VolkerK
。あなたは、そのリソースから "貴重な情報"を得る別の機能が必要です。この場合、/mysql_fetch_row()/mysql_fetch_objectとして指摘されています。または(それは単一値なので)mysql_result()です。
sqlクエリは、さまざまな理由で失敗する可能性があります。 常に mysql_query()の戻り値を確認してください。偽であれば、何かが間違っていて、mysql_error()がそれについてもっと詳しく話すことができます。
$mysql = mysql_connect(...) or die(mysql_error());
mysql_selecT_db(.., $mysql) or die(mysql_error($mysql));
$query = "SELECT count(*) FROM infostash.rooms";
$queryPlans = mysql_query($query, $mysql) or die(mysql_error($mysql));
$cRows = mysql_result($queryPlans, 0);
echo $cRows;
mysql_queryはPHPリソースを返します(http://www.php.net/manual/en/language.types.resource.php参照)。
戻されたリソースは、mysql_fetch_assocなどに渡されます。
あなただけの数を取得しているので、あなたは以下を使用することができます。
$queryPlans = mysql_query("SELECT count(*) FROM infostash.rooms");
$count = mysql_result($queryPlans,0,0);
echo $count;
後で完全なクエリを使用して計画している場合に(例えばを選択するのではなく、カウント())、あなたがすることができます完全なクエリでmysql_num_rows()
を使用してデータベースのヒットを保存します。例:
$queryPlans = mysql_query("SELECT * FROM infostash.rooms");
$results = mysql_fetch_array($queryPlans);
echo "There were " . mysql_num_rows($queryPlans) . " results";
while($row = mysql_fetch_assoc($queryPlans)){
// Do stuff here
}
'php.net'(それは20種類のミラー)が再びダウンしているので、完全なドキュメントを読むことができませんでしたか?理解できません。 – Bombe