【问题标题】:php fetch array after mysql unionmysql联合后php获取数组
【发布时间】: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


【解决方案1】:

您必须声明 sql 变量。例如

$sql = (
    (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'];
}

【讨论】:

    猜你喜欢
    • 2013-11-18
    • 1970-01-01
    • 2011-12-12
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 2021-10-27
    相关资源
    最近更新 更多