2011-12-25 9 views
0

私はテーブル「menjava」とデータベース「DB2」を持っている- mysqlの+ PHP

表では、「ID」、「著者」を持っているmenjavaと"date_submitted" フィールド

  • ID - AUTO_INCREMENT
  • 著者 - INT(11)
  • date_submitted - 日時

各レコードの作成日時を保持する 'date_submitted'というDATETIMEフィールドに基づいて、今日のすべての行とyesterdaysのすべての行をカウントします(条件付きの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"]; 
} 

    ?> 

ありがとうございました!

答えて

1

試してみてください。

$q = 'SELECT COUNT(*) FROM menjava 
      WHERE date_submitted >= DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)'; 
$result = mysql_query($q); 
$total_rows = mysql_fetch_row($result); 
print $total_rows[0] . ' authors have been submitted today and yesterday.'; 
+0

重大度:NoticeMessage:未定義の変数:link2Filename:index.phpLine数:197 A PHPエラーが 重要度を発生しました:WarningMessage:mysql_query():指定された引数が有効なMySQL-Linkリソースではありません.Filename:index.phpLine Number:197 PHPエラーが発生しました 重大度:WarningMessage:mysql_fetch_array():指定された引数が有効なMySQL結果ではありませんresourceFilename:index.phpLine Number:199 –

+0

重大度:WarningMessage:mysql_fetch_array():指定された引数が有効なMySQL結果リソースではありません –

+0

クエリは複数の列を返す必要があります。 – Karlson

0

次のSQLコマンドを試してください:

$sqlToday = "Select COUNT(*) FROM menjava WHERE DATE(date_submitted) = CURRENT_DATE()"; 

$sqlYesterday = "Select COUNT(*) FROM menjava WHERE DATE(dc_created) = CURDATE() - INTERVAL 1 DAY"; 
+0

ちょうどいくつかのコードを投げ込まないでください!問題が何だったのか、そしてあなたの答えはどのように解決されているのかについて、数行の説明をしてください。 – totymedli

+0

よろしくお願いします。 – Aman