2012-04-07 9 views
0

DBから日付を検索してカウントを取得するクエリがあり、それは返されません。データベースには3つのレコードがあり、日付は2012-04-06の日付です。PHP - MySQL - 日付を検索し、その日付のある行をカウントする

$ dayがその日付としてページにエコーアウトしているので、私はそれが関数の右側に渡っていることを知っています。

$countrows = "SELECT COUNT(*) FROM test_table WHERE startDate LIKE '" . $day. "'"; 
$countresult = mysql_query($countrows); 
$count = mysql_fetch_row($countresult); 
$finalcount = $count[0]; 

ちょうど立ち往生して、2番目、3番目、4番目の目が必要です。私は明らかに何かが欠けている。

ALSO:数値を整数として出力したいので、数学を行うことができます。

答えて

1

$values = mysql_fetch_row($countresult)の手順がありません。 $countresultは、配列ではなくタイプMYSQL_QUERYRESULT(または一部)の変数です。

http://php.net/manual/en/function.mysql-fetch-row.php

それとは別に、DB照会値は常に最初にPHPの文字列になります。それが数字であることを確認したい場合は$var = (int)$var;を実行してください。

+0

代わりにstartDateの実際のフィールド名を表示するためにオリジナルを更新してください。 –

+1

それを指摘してくれてありがとう、あなたの答えをupvotedし、更新された鉱山。 :) –

+0

それはちょうど今 '配列'をエコーし​​ます –

1

日付比較にはLIKEを使用しないでください。あなただけの

"SELECT COUNT(*) FROM test_table WHERE startDate = '" . $day. "'"; 

を行うことができますし、Armatusが指摘するように、あなたにもmysql_fetch_rowを呼び出す必要があります。

関連する問題