質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

Q&A

解決済

2回答

2507閲覧

order by limitとwhere句の使用について

SugiuraY

総合スコア317

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

0グッド

0クリップ

投稿2019/12/27 03:59

以下のようにorder by limit句の後にgetdateカラムの条件を加えた場合に以下のようなエラーが出力されてしまいました。where句の条件を除いた場合正しくselectしてくれるためorder byとの間に問題があると思うのですがどのようにしてorder by limitに条件のwhere句を利用すれば良いのでしょうか?

よろしくお願いします。

php

1$getdate='2019-12-27'; 2try { 3$stmt = $pdo->prepare('SELECT * from maintable order by insertdat limit 30 WHERE getdate = :getdate'); 4$stmt->bindParam(':getdate',$getdate,PDO::PARAM_STR); 5$stmt->execute(); 6$latest = $stmt->fetchall(PDO::FETCH_NUM); 7$pdo->commit(); 8} catch (PDOException $e) { 9$pdo->rollback(); 10throw $e; 11}

データベース接続失敗。SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE getdate = '2019-12-27'' at line 1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

SQLの書き方の順序の問題かと思います。

PHP

1$stmt = $pdo->prepare('SELECT * from maintable WHERE getdate = :getdate order by insertdat limit 30');

これでどうでしょうか。

投稿2019/12/27 04:07

kota_yamashita

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SugiuraY

2019/12/27 05:43

コメントをいただき有難うございます。 動作させることができました!
guest

0

ベストアンサー

SELECT文の各句の指定順は決まっています
SELECT/FROM/JOIN/WHERE/GROUP BY/HAVING/ORDER BY/LIMIT
の順で指定してください

投稿2019/12/27 04:38

yambejp

総合スコア114839

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SugiuraY

2019/12/27 05:43

コメントありがとうございます、おはずかしながら指定の順番があることをしらなかったです。 解決いたします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問