我有一个名为order
的表格,它包含的内容很少,例如customer
,phone
和orderdate
,其中这一列具有MySQL Date
字段类型格式,像
orderdate
-|----------|--
|2014-06-12|
|2014-06-13|
|2014-06-12|
|2014-06-14|
|2014-06-14|
|2014-06-11|
|2014-06-11|
现在我尝试通过运行像
这样的查询来获取所有订单$query = "SELECT * FROM order WHERE orderdate = DATE(NOW())";
或
$query = "SELECT * FROM order WHERE DATE(orderdate) = DATE(NOW())";
但我没有收到任何错误信息。你能告诉我怎么做吗?感谢
更新: 这是完整的代码:
<?PHP
include 'conconfig.php';
$con = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);
if (mysqli_connect_error())
{
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
}
$query = "SELECT * FROM order WHERE DATE(orderdate) = DATE(NOW())";
if ($result = $con->query($query))
{
if ($result->num_rows > 0)
{
$resultStr.= '<table style="width:300px">';
while($row = $result->fetch_assoc())
{
$resultStr.= '<tr><td>'.$row['customer'].'</td><td>'.$row['phone'].'</td></tr>';
}
$resultStr.= '</table>';
}
else
{
$resultStr = 'There is No Order For Today';
}
}
echo $resultStr;
$con->close();
答案 0 :(得分:2)
Order
是保留字。试试这个问题:
SELECT * FROM `order` WHERE orderdate = DATE(NOW())
答案 1 :(得分:0)
订单是保留字。你可以用`like so:
来逃避它SELECT * FROM `order` WHERE ...
这是一个保留字列表,应该避免作为mysql表和列名。