0
我从我的页面url头中的查询字符串接收2个参数。我想使用这些parrams作为查询的日期标准,但是每当我尝试添加到我的where子句时,页面都会返回500错误。添加条款到JDatabase
这是我的语法,我应该改变什么,以便我可以在我的where子句中使用这两个变量?
<?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
即开始加载页 - 但抛出操作数类型冲突的错误:日期与int不兼容。我知道registerdate是一个日期数据类型 - 所以我假设两个问题是$ begin和$ end – BellHopByDayAmetuerCoderByNigh
打印这2个变量。 – TopCheese
begin = 2017-01-02 end = 2017-01-25 and this view based on - SchoolStuff我在做registerdate = Cast(registration_date As Date) – BellHopByDayAmetuerCoderByNigh