mysql_query不返回任何内容,但查询在phpMyAdmin

时间:2016-03-05 18:52:28

标签: php mysql

$query = mysql_query(
    "SELECT SUM( usd_amount ) AS value_sum 
     FROM order_tbl 
     WHERE o_date BETWEEN SUBDATE( CURDATE( ) , 
          DAYOFMONTH( CURDATE( ) ) -1 ) AND CURDATE()
");

if(!$query){
        echo "Did Not Execute the query";
        echo mysqli_error();

}

我一直收到“没有执行查询”但查询在phpMyAdmin中正常运行。 mysqli_error()的回声也没有显示任何内容。

此外,我已检查连接,连接工作绝对正确。

3 个答案:

答案 0 :(得分:1)

取自评论,并在您更改表名后重新打开了问题。

  

“订单作为sql关键字的一部分而不是table_name。请订购订单 - Rohan Khude 46分钟前”

OP:

  

“尝试使用mysqli_query但仍然得到相同的错误。此外,订单表有一个不同的名称,我在这里只是为了隐私问题而改变它。 - Shweta Soparkar 10分钟前”

  

“我已经使用PDO连接到数据库。它说连接成功。 - Shweta Soparkar 10分钟前”

您无法混合MySQL API,您必须使用相同的连接查询。

  • 与PDO联系,使用PDO查询,没有别的。

您正在使用mysql_query()然后mysqli_error()并将这些与PDO混合在一起。

由于您使用PDO进行连接,因此您需要将查询更改为PDO方法。

使用PDO查询的手动参考:

检查引用时出错:

其他参考资料:

答案 1 :(得分:0)

Order是一个保留的SQL关键字。您可以通过将其包装在反引号(`order`)中来解决这个问题。

有关MySQL 5.7中保留关键字的完整列表,请参阅https://dev.mysql.com/doc/refman/5.7/en/keywords.html

答案 2 :(得分:0)

Yes It finally works!!
Thanks for Helping me out!

$STH_SELECT = $conn->query("SELECT SUM( usd_amount ) AS value_sum 
     FROM order_tbl 
     WHERE o_date BETWEEN SUBDATE( CURDATE( ) , 
          DAYOFMONTH( CURDATE( ) ) -1 ) AND CURDATE()
");
    $sof = $STH_SELECT->fetchColumn();
    echo $sof;