0

誰かが私のためにエラーを見つけるのを手伝ってくれるのだろうか. 私はテーブルに参加するのはかなり初めてですが、最後のビットまではうまくいきました。

SQL 構文にエラーがあります。''(10,8)' AND d.streamitem_target IN '(10,8)') ORDER BY d.streamitem_id DE' at line 9 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

$call="SELECT d.*, c.*, u.*
  FROM streamdata          AS d
  JOIN streamdata_comments AS c ON d.streamitem_id = c.comment_streamitem
  JOIN users               AS u ON u.id = c.comment_poster
 WHERE c.comment_poster = '$following_string'
   AND d.streamitem_id < '$lastID'
   AND (d.streamitem_target  = '$following_string' OR
       d.streamitem_creator = '$following_string')
   OR  d.streamitem_creator IN '$friendlist' 
   AND d.streamitem_target IN '$friendlist'
   ORDER BY d.streamitem_id DESC LIMIT 10";
4

3 に答える 3

3
OR  d.streamitem_creator IN '$friendlist' 

する必要があります

 OR  d.streamitem_creator IN $friendlist

IN変数を引用しません。

同じことが回線にも当てはまりますAND d.streamitem_target IN '$friendlist'

于 2012-09-04T13:41:33.253 に答える
2

IN句の$friendlistを一重引用符で囲むことが問題である可能性があります。たとえば、次のように変更します。

   OR  d.streamitem_creator IN $friendlist 
   AND d.streamitem_target IN $friendlist
于 2012-09-04T13:42:43.073 に答える
1

カンマ区切りのリストを引用符で囲んでいます。そうしないでください。

.
.
.
OR  d.streamitem_creator IN $friendlist
AND d.streamitem_target IN $friendlist
.
.
.
于 2012-09-04T13:42:40.040 に答える