【发布时间】:2012-09-06 16:37:31
【问题描述】:
这个mysql语法有什么问题?我将它复制到 phpmyadmin 并完美运行。当我试图从 php 中获取数组时,它返回了“bool(false)”错误。
(
SELECT
id,
cim,
'news' as kat
FROM
mbsz_news
WHERE
cim LIKE '%anystring%'
OR lead LIKE '%anystring%'
OR content LIKE '%anystring%'
)
UNION
(
SELECT
id,
p_name,
'plaza' as kat
FROM
mbsz_plazas
WHERE
p_name LIKE '%anystring%'
OR uzemelteto LIKE '%anystring%'
)
UNION
(
SELECT
id,
cim,
'book' as kat
FROM
mbsz_konyvtar
WHERE
cim LIKE '%anystring%'
OR kszam LIKE '%anystring%'
OR kiado LIKE '%anystring%'
)
PHP 代码:
$res = mysql_query($sql);
while($row = mysql_fetch_array($res))
{
echo $row['type'];
}
$res 给出错误 bool(false)
感谢您的帮助。
【问题讨论】:
-
为什么你的查询有括号?
-
语法看起来不错(您的联合列名称不一样,但只要列类型相同,它们应该采用第一个查询的名称/别名) - 所以它可能会下降到你的 PHP 代码。
-
mysql_error()是否返回任何内容?如果不是,则不是mysql错误。没有结果或 PHP 错误。 -
PHP 代码:$res = mysql_query($sql);而($row = mysql_fetch_array($res)); { 回声 $row['type'];不工作,对于 $res,给出错误 bool(false)。
-
你有一个
;吗??
标签: php mysql arrays union fetch