テーブル「menjava」を持つデータベース「db2」があります
テーブルmenjavaには、「id」、「author」、「date_submitted」フィールドがあります
- id-auto_increment
- 著者-int(11)
- date_submitted-日時
各レコードの作成日時を保持する「date_submitted」というDATETIMEフィールドに基づいて、今日の日付のすべての行と昨日の日付のすべての行をカウントしたいと思います(したがって、条件付きの2つのコードがあります)。
result.phpファイルには、このカウントが表示されていますが、機能しません。同じファイル(result.php)に、別のデータベースのデータを表示する他のコードがあるので、povezava.phpは正常に機能していると思います。
私のコード:
<?
require "povezava.php";
$q=mysql_query(" SELECT COUNT(*) AS total_number FROM menjava
WHERE date_submitted >= DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)",$link2);
// now you can
if ( $nt = mysql_fetch_array($q)){
echo $nt["total_number"];
$q=mysql_query($nt) or die(mysql_error());
}
?>
私のファイルpovezava.phpは次のようになります。
<?
$servername='localhost';
$dbusername='user';
$dbpassword='pass';
$dbname1='db1';
$dbname2='db2';
$link1 = connecttodb($servername,$dbname1,$dbusername,$dbpassword);
$link2 = connecttodb($servername,$dbname2,$dbusername,$dbpassword);
function connecttodb($servername,$dbname,$dbusername,$dbpassword)
{
$link=mysql_connect ("$servername","$dbusername","$dbpassword",TRUE);
if(!$link){die("Could not connect to MySQL");}
mysql_select_db("$dbname",$link) or die ("could not open db".mysql_error());
return $link;
}
?>
私が得るエラー:
A PHP Error was encountered
Severity: NoticeMessage: Array to string conversionFilename: templates/master.phpLine Number: 231 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Array' at line 1
修理済み:
<?
require "povezava.php";
$q=mysql_query("SELECT COUNT(*) AS total_number FROM menjava WHERE date_submitted >= DATE_SUB(CURRENT_DATE(), INTERVAL 0 DAY)",$link2);
// working
if ( $nt = mysql_fetch_array($q)){
echo $nt["total_number"];
}
?>
ありがとうございました!