2

PDO は初めてです...合計を取得しようとしていますが、ここでエラーが発生するのは私のコードです

function test_score_month($student_id){
    global $host, $dbname, $user, $pass;

    $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
    $STH = $DBH->query("SELECT SUM(score), SUM(score_from) FROM school_test_report
    WHERE 
     school_test_report.test_date >= last_march() and school_test_report.test_date <= march()" );
    $STH->setFetchMode(PDO::FETCH_BOTH);
    return $STH;
}

出力は

$student_id = test_score_month($name);
echo $student_id['SUM(score)'];

しかし、エラーが発生します

Call to a member function setFetchMode() on a non-object in

私は試しました

$STH->setFetchMode(PDO::FETCH_ASSOC);

それでも同じエラー

4

1 に答える 1

2

クエリに構文エラーがあります:

WHERE 
    and

また、DBに機能があり、機能しているmarch()と確信していますか?last_march()

[+] データベースにクエリを実行した後、常にエラーをチェックします。

if($STH){
 // do your stuff
}else{
 die($DBH->errorInfo()); // see the error
}

http://www.php.net/manual/en/pdo.errorinfo.phpを参照してください。

于 2012-05-27T11:11:51.287 に答える