1

我在使用限制时遇到 SQL 查询问题。我想要一个可变的限制参数。正如我在我的网站的其他地方成功完成的那样,我想使用类似 LIMIT number = :number 然后指定'number'=>$numberResults。

不知何故,这不起作用..(我已经尝试过,如果我在查询中写出 LIMIT 20 它可以正常工作,但这不是问题。

这是我的代码:

connexion_bdd.php

<?php
        try
        {
            $bdd = new PDO('mysql:host=localhost;dbname=mise_a_quai_tardive', 'root', '');
        }
        catch (Exception $e)
        {
                die('Erreur : ' . $e->getMessage());

        }
 ?>

mise_a_quai_tardive.php这给我带来了问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="style.css" />
    <title>Module Suivi des Mises à Quai Tardives</title>
</head>

<body>
<?php include("connexion_bdd.php"); ?>
<?php
  $resultatsParPage = 15;
$reponse = $bdd->prepare("SELECT id_dossier, type_sortie, date_incident, no_train,    commentaire FROM sortie_prevue
        UNION 
        SELECT id_dossier, type_sortie, date_incident, no_train, commentaire FROM sortie_non_prevue
        ORDER BY date_incident DESC LIMIT limit=:limit")

$reponse -> execute(array('limit'=> $resultatsParPage));

while ($donnees = $reponse->fetch())
{

/* i display the results here, they display fine with a 'static' SQL query, but nothing shows up with my query at the moment.. */

}

</body>
</html>

非常感谢你的帮助 !我相信对此有一个简单的解释!:)

4

1 回答 1

0

奇怪的是,这似乎工作......我直接执行查询,没有准备。

$reponse = $bdd->query("SELECT id_dossier, type_sortie, date_incident, no_train, commentaire FROM sortie_prevue
        UNION 
        SELECT id_dossier, type_sortie, date_incident, no_train, commentaire FROM sortie_non_prevue
        ORDER BY date_incident DESC LIMIT $resultatsParPage");

如果有人有评论来解释这一点,他将非常受欢迎!

于 2013-09-23T15:56:07.853 回答