我有这一块的PHP - MySQL代码:
MySQL查询不PHP文件中工作
当标签在我的数据库作为一个女人在用户打开它查询一些数据和数字数据库页1012,1013,1014否则只有1012,1013。
// $php_variable=2
$SQL_M = "SELECT @gender:=$php_variable, B.id, B.notes, B.time_logged
FROM database.evs B
INNER JOIN (select @gender:=0) as Something
WHERE
CASE WHEN @gender=2
THEN (B.items IN ('1012', '1013', '1014'))
ELSE (B.items IN ('1012', '1013'))
END
ORDER BY B.time_logged ASC";
$result = mysql_query($SQL_M);
$mycount = mysql_num_rows($result);
if ($mycount > 0) {
while ($mrow = mysql_fetch_array($result))
{
extract($mrow);
echo ">>>>".$id."<br/>"
//Works locally - not on server.
}
}
$ php_variable是2
它应与项目ID输出项中:1012,1013,1014
相反,它输出为1012,1013的项目成果。
奇怪的是,我测试了本地查询(从php和mysql查询本身) 和服务器(Plesk - Mysql),它运行得很好。
它不会在服务器中的php文件中运行 - 同时ORDER运行不正常。
应该执行的查询是:
$SQL_M = "SELECT B.id, B.notes, B.time_logged
FROM database.evs B
WHERE B.items IN ('1012', '1013', '1014')
ORDER BY B.time_logged ASC";
PHP版本:5.16(本地和服务器)
MySQL版本:5.0.77(本地和服务器)
在此先感谢您的帮助。
为什么不根据条件在php中建立查询?这似乎是不必要的复杂。 – jeroen 2012-03-29 01:03:04
基于我给出的例子,我同意你的看法。事实上,它更复杂,但这个简单的例子不起作用。我试图找到原因... – 2012-03-29 01:06:53
尝试echo $ SQL_M并从mysql命令行执行它/ phpmyadmin 什么是$ SQL_M真实内容? – 2012-03-29 01:08:41