0

サービス プロバイダーが古いバージョンをサポートしなくなったため、MySQL 5 と PHP 5 に更新する必要がありました。このMySQL検索で正常に機能していた作業サイトがあります。以下は、ユーザーのリスティング ページに配置されたインクルードです。SQL ステートメントを取り出してサーバーで実行すると、正しい結果が返されます。私の推測では、それはフォーマットと関係があると思います。このエラーが発生する理由はありますか?

「クエリに失敗しました: SQL 構文にエラーがあります。1 行目の 'ORDER BY x.id_have LIMIT 0,30' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください」

この構文で

<table cellpadding="15" border="0">
 <tr>
  <td valign="top">
   So far, the following members have these items which match;
   <ul>
   <?  
    $peoplewhomatch = mysql_query("SELECT x.id_customer, g.title Have, c.user_name as Member, g.title gwants, gg.title Has, y.id_customer x_username 
        FROM Want x 
        JOIN Want y 
            ON (y.id_sellversion,y.id_version) = (x.id_version,x.id_sellversion) 
        inner join Version as v 
            on x.id_version = v.id_version 
        inner join Version as vv 
            on y.id_version = vv.id_version 
        inner join Game as g 
            on g.id_game = vv.id_game 
        inner join Customer as c 
            on y.id_customer = c.id_customer 
        inner join Game as gg 
            on gg.id_game = v.id_game 
        WHERE x.id_have = $hid 
        ORDER BY x.id_have 
        LIMIT 0, 30")or die("Query failed: " . mysql_error()); 
    while($row = mysql_fetch_array($peoplewhomatch))
    { ?>
    <span class='greenitalic'><?=$row['Member']?></span> has <span class='highshadow'><?=$row['Has']?></span> and wants <span class='ishadow'><?=$row['gwants']?></span><BR><?}?>
  </td>
 </tr>
</table>
4

1 に答える 1

0

おそらく$hid次のように引用符で囲む必要があります。

 $peoplewhomatch = mysql_query("SELECT x.id_customer, g.title Have, c.user_name as Member, g.title gwants, gg.title Has, y.id_customer x_username 
        FROM Want x 
        JOIN Want y 
            ON (y.id_sellversion,y.id_version) = (x.id_version,x.id_sellversion) 
        inner join Version as v 
            on x.id_version = v.id_version 
        inner join Version as vv 
            on y.id_version = vv.id_version 
        inner join Game as g 
            on g.id_game = vv.id_game 
        inner join Customer as c 
            on y.id_customer = c.id_customer 
        inner join Game as gg 
            on gg.id_game = v.id_game 
        WHERE x.id_have = '$hid'
        ORDER BY x.id_have 
        LIMIT 0, 30")or die("Query failed: " . mysql_error()); 
于 2013-06-27T01:55:21.377 に答える