0

この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) が表示されます ご協力ありがとうございます。

4

1 に答える 1

0

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'];
}
于 2012-09-13T16:06:01.030 に答える