SQLは間違いなく私の強みではありません。私はそれが通り抜けるのに十分よく知っています。私が本当にうまく学ぶことができなかったのは、結合の使い方でした。条件ステートメントを結合で機能させることはできず、その理由もわかりません。だから私はそれを理解するだろうと思いました。私はプライベートニュースフィードを作成しています。これはデータベースからフェッチするための私のSQLです。
SELECT * FROM feed
WHERE INNER JOIN friends ON feed.user = friends.user1
WHERE friends.user2 = ? AND day = ?
ORDER BY id DESC
LIMIT 15
PDOステートメントが返すエラーは次のとおりです。
- 'SQLSTATE [42000]:構文エラーまたはアクセス違反:1064SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、「INNER JOIN friends ON feed.user = friends.user1 WHERE friends.user2 ='atline1」の近くで使用する正しい構文を確認してください。
'AND day =?'の後でその余分な条件を取り除くと、行はそれ自体で正常に機能します。しかし、それは現在書かれているようには機能しません。したがって、このステートメントは機能します
SELECT * FROM feed
INNER JOIN friends ON feed.user = friends.user1
WHERE friends.user2 = ?
ORDER BY id DESC
LIMIT 15
私の質問は、「AND day =?」をどのように追加するかです。正しい方法でステートメントに?