【发布时间】:2012-07-03 19:58:36
【问题描述】:
我添加了 AND t.cover='$c' 行,现在它不会显示任何结果。但是,所有变量都是正确的。如果我在 phpMyAdmin 中运行该行,它将很好地显示结果。我在 PHP 中缺少语法吗?如果我删除 t.cover='$c' 脚本在网络上运行良好。 $c 只是一个 $_GET['c'],要么为空要么等于 0,我将其重新定义为“否”。
if($t != '') {
if($c == 'No') {
$getListings = mysql_query("SELECT * FROM events t LEFT JOIN bars b on t.venue=b.name WHERE t.date='$date' AND t.type='$t' AND t.cover='$c' AND b.active='1' ORDER BY t.promoted DESC, t.order ASC");
} else {
$getListings = mysql_query("SELECT * FROM events t LEFT JOIN bars b on t.venue=b.name WHERE t.date='$date' AND t.type='$t' AND b.active='1' ORDER BY t.promoted DESC, t.order ASC");
}
} else {
if($c == 'No') {
$getListings = mysql_query("SELECT * FROM events t LEFT JOIN bars b on t.venue=b.name WHERE t.date='$date' AND t.cover='$c' AND t.type='$t' AND b.active='1' ORDER BY t.promoted DESC, t.order ASC");
} else {
$getListings = mysql_query("SELECT * FROM events t LEFT JOIN bars b on t.venue=b.name WHERE t.date='$date' AND b.active='1' ORDER BY t.promoted DESC, t.order ASC");
}
}
我最大的困惑是为什么它可以在 phpMyAdmin 中运行,但在网络上却没有显示任何行。
看来我已经在 Google 上尝试了所有方法,但仍然没有运气。我希望它会抛出一个错误或一些东西来为我指明一个方向,但它只是出现,好像查询是空的。如果有人有任何想法,我仍在寻找输入。也许 LEFT JOIN 正在这样做?
【问题讨论】:
-
嗯,我对 PHP 了解不多,但是当我听说它在一个地方和另一个地方都可以工作时,我立即认为这是我的权限问题。您从 phpMyAdmin 与网站登录的用户是什么?
-
你能打印出查询来看看 $c 实际上是什么吗?
-
@Poodlehat,在他添加 AND t.cover = 'c$' 子句之前,该查询在网络上有效。
-
如果设置了查询点,则打印出正确的“否”,否则将退回到其他。当我删除 AND t.cover='$c' 时,由于某种原因,整个查询就像没有字段匹配一样。但我在 phpMyAdmin 中运行 SAME 查询,它会提取结果。
标签: php mysql sql phpmyadmin