sql查询在php中给出错误

时间:2015-02-19 14:18:09

标签: php mysql sql

我试图在php中运行此SQL查询,但我收到一个错误,我的查询是错误的。请帮忙

<?php
    @include("dbcon.php");
    $last_date = $_POST['lastdate'];
    $page_rows=3;
    $result = mysql_query("SELECT  * from events where dated < $last_date order by dated desc limit $page_rows") or die(mysql_error());
    //for testing
    echo $result;
?>

4 个答案:

答案 0 :(得分:0)

我认为是因为你的$last_date ..它应该在单引号内'' 这应该工作

$result = mysql_query("SELECT  * from events where dated < '$last_date' order by dated desc limit $page_rows")  or die(mysql_error());

答案 1 :(得分:0)

如果它唯一的语法错误,那么试试这个。

<?php
    @include("dbcon.php");
    $last_date = $_POST['lastdate'];
    $page_rows=3;
    $result = mysql_query("SELECT  * from events where dated < '$last_date' order by dated desc limit '$page_rows'") or die(mysql_error());
    //for testing
    echo $result;
    ?>

答案 2 :(得分:0)

只需添加单引号即可。使用以下代码

<?php
@include("dbcon.php");
$last_date = $_POST['lastdate'];
$page_rows=3;
$result = mysql_query("SELECT  * from events where dated < '$last_date' order by dated desc limit $page_rows") or die(mysql_error());
//for testing
echo $result;
?>

希望这有助于你

答案 3 :(得分:0)

$result = mysql_query(
            sprintf("SELECT  * 
                    FROM events
                    WHERE dated < '%s' 
                    ORDER BY dated DESC 
                    LIMIT %d", addslashes($last_date), intval($page_rows))) 
    or die(mysql_error());