我在php中有一个准备好的语句(带联接的select),它似乎正在为除一个变量外的所有变量赋值:
$dbRating = "x";
$dbFavDate = "x";
if($stmt = $dbcon->prepare("
SELECT i.*, u.username, r.rating, f.date_favorited
FROM image i
INNER JOIN user u ON u.uid = ?
LEFT JOIN rating r ON r.iid = ? AND r.uid = ?
LEFT JOIN favorite f ON f.iid = ? AND f.uid = ?
WHERE i.iid = ?")) {
$stmt->bind_param("iiiiii", $qImageOwner, $qImageId, $uid, $qImageId, $uid, $qImageId);
$stmt->execute();
$stmt->bind_result($dbIid, $dbOwnerUid, $dbTitle, $dbDescription, $dbFilename, $dbCatid, $dbDateCreated, $dbDateModified, $dbOwnerUsername, $dbRating, $dbFavDate);
$stmt->fetch();
$stmt->close();
}
我已经将这个查询直接放入phpmyadmin中,并返回了所有期望的值,所以我知道它不是sql。除$dbFavDate的外,我将按预期返回所有值,出于某种原因,它总是显示为"x"(我在查询前分配给它的初始值),而以相同方式处理的$dbRating将返回预期的关联评级值。没有产生错误,看起来变量只是没有被分配查询返回的实际值?
如有任何帮助,我们将不胜感激。谢谢TE
Argh!最后这与sql或php都不是问题。javascript中的if语句使用
if (dbFavDate = 'x') {
而不是
if (dbFavDate == 'x') {
(>_<)!!谢谢你们的投入。