私のページのurlヘッダーのクエリ文字列から2つのパラメータを受け取りました。私は、これらのparramsをクエリの日付基準として使用したいと思いますが、where句に追加しようとするたびに、ページは500エラーを返します。JDatabaseにWhere句を追加する
これは私の構文です。私はwhere句でこれら2つの変数を使用できるように変更する必要がありますか?
<?php
header('Access-Control-Allow-Origin: *');
$begin = $_GET['begin'];
$end = $_GET['end'];
$option = array(); //prevent problems
$option['driver'] = 'mssql';
$option['host'] = 'XXX.XXX.XX.XX';
$option['user'] = 'user';
$option['password'] = 'pass';
$option['database'] = 'database';
$option['prefix'] = '';
$db = JDatabase::getInstance($option);
$result = $db->getQuery(true);
$result->select($db->quoteName(array('Teacher', 'student', 'countenrolled', 'countattending')));
$result->from($db->quoteName('[SchoolStuff'));
$result->where($db->quoteName('registerdate') . ' >= '. $begin. AND ' <= ' .$end.);
$db->setQuery($result);
$results = $db->loadObjectList();
?>
<table border="1">
<thead>
<tr>
<th>Teacher</th>
<th>Student</th>
<th>Count Enrolled</th>
<th>Count Attending</th>
</tr>
</thead>
<tbody>
<?php
foreach($options as $option) {
print "<tr>";
print "<td>".$option->Teacher."</td>";
print "<td>".$option->Student."</td>";
print "<td>".$option->CountEnrolled."</td>";
print "<td>".$option->CountAttending."</td>";
print "</tr>";
}
?>
</tbody>
</table
配列を渡すことができます - しかし、オペランド型のclash:dateがintと互換性がありません。私はregisterdateが日付データ型であることを知っています - したがって、私は2つの問題が$ beginand $ endであると仮定します。 – BellHopByDayAmetuerCoderByNigh
これらの2つの変数を出力します。 – TopCheese
begin = 2017-01-02 end = 2017-01-25このビューは、SchoolStuffに基づいています。私はregisterdate = Cast(dateとしてregistration_date)を実行しています – BellHopByDayAmetuerCoderByNigh