【发布时间】:2011-04-20 01:30:35
【问题描述】:
我正在使用 PHP 从 mySQL 中进行简单的选择。我做错了我似乎无法追踪的事情。
这是我的声明:
$storyTitle = $_GET['title'];
$storyDate = urldecode($_GET['date']);
$SQL = "SELECT
*
FROM
tblContent
WHERE
REPLACE(contentTitle,' ' , '-') = :storyTitle
AND
date(publishDate) = date(:storyDate)";
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
$q = $conn->prepare($SQL);
$q->execute(array(':storyTitle' => $storyTitle, ':storyDate' => $storyDate));
while($r = $q->fetch()){
echo $SQL;
};
这不会引发错误并且不会给出任何行。
如果我用硬编码的 SQL 语句替换标识符 :storyTitle 和 :storyDate ,我会得到正确的结果。我已经逐步查看了变量,它们看起来是正确的......我已经浪费了很多时间来寻找,但我缺乏专业知识来找出我做错了什么。
【问题讨论】: