我遇到了使用限制的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>
非常感谢你的帮助!我相信这有一个简单的解释! :)
答案 0 :(得分: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");
如果有人发表评论来解释这一点,他将非常欢迎!