我正在使用PHP从mySQL中进行简单的选择。我做错了事情,我似乎无法追查。pdo select语句不返回行
这里是我的发言:
$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,我会得到正确的结果。我已经开始了解变量,他们看起来是正确的......我已经浪费了很多时间,但我缺乏专业知识来挑选我做错了什么。
导致我的解决方案,即使偶然。我的变量正在从代码中的较早版本中获取额外的引用。 var_dump ...我会记住下次。 :) – 2010-10-01 20:44:56