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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

589閲覧

データベースエラーに関して

alitomo

総合スコア41

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2021/10/21 03:27

Xサーバーで利用しているサイトで下記のエラーの原因が分からず困っています。

WordPress データベースエラー: [You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 18]

テストサイト(こちらもxサーバー)では同じSQLで稼働させて問題なく動いているのですが、本番サイトではなぜかエラーになってしまいます。
使用しているSQLは下記の通りです。

php

1$sql = " 2SELECT 3 po.ID 4 FROM 5 wp_posts AS po 6 INNER JOIN 7 wp_postmeta AS pt 8 ON 9 po.ID = pt.post_id 10 INNER JOIN 11 wp_term_relationships AS tr 12 ON 13 po.ID = tr.object_id 14 INNER JOIN 15 wp_term_taxonomy AS tt 16 ON 17 tr.term_taxonomy_id = tt.term_taxonomy_id 18 INNER JOIN 19 wp_terms AS wt 20 ON 21 tt.term_id = wt.term_id 22 WHERE 23 po.post_type = 'document' 24 AND 25 po.post_status = 'publish' 26 AND (po.post_title LIKE '{e9f009a6517768fe62c1b9bdf19966de1157bd1ee1fb4c05f62010e8f46b5f1e}テキスト{e9f009a6517768fe62c1b9bdf19966de1157bd1ee1fb4c05f62010e8f46b5f1e}' OR pt.meta_value LIKE '{e9f009a6517768fe62c1b9bdf19966de1157bd1ee1fb4c05f62010e8f46b5f1e}テキスト{e9f009a6517768fe62c1b9bdf19966de1157bd1ee1fb4c05f62010e8f46b5f1e}' OR wt.name LIKE '{e9f009a6517768fe62c1b9bdf19966de1157bd1ee1fb4c05f62010e8f46b5f1e}テキスト{e9f009a6517768fe62c1b9bdf19966de1157bd1ee1fb4c05f62010e8f46b5f1e}')"; 27 28$results = $wpdb->get_results($sql,'ARRAY_N');

ご教授のほどよろしくおねがいします。

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

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

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

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

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

yambejp

2021/10/21 04:09

提示されているエラーメッセージは省略してないですよね? 文法エラーの表記も出ていますし18行目とわかっているのですから その前後の記述を見ればわかるのでは?
alitomo

2021/10/21 04:16 編集

ご回答ありがとうございます。 エラーメッセージの省略はしておりません。 18行目に関しては、function.php内ではなく、ワードプレスのSQL文内ですので、こちらで該当箇所をどのように特定したら良いのかわかりかねております。
showkit

2021/10/21 04:22

$sql を エラーログに出力しては いかがでしょうか?
FKM

2021/10/21 05:38

使用しているMYSQLないしmariaDBのバージョンは同じですか?
alitomo

2021/10/21 07:39 編集

showkitさま ご回答ありがとうございます。 エラーログの出力試してみます。 FKMさま ご回答ありがとうございます。 ワードプレスのサイトヘルス上では DBのバージョンは同じ(mysqlnd 7.4.23)ですが、 サーバーのバージョンが 5.7.27(テスト) 10.5.11-MariaDB-log(本番) と違いがあります。
YT0014

2021/10/21 08:25

get_results()の第2引数ですが、'で囲んで文字列にして良いのでしょうか? ざっと検索したコードを見た限りでは、定数として定義されているようで、 get_results($sql, ARRAY_N ) となっているものしか見つからなかったのですが。
alitomo

2021/10/21 10:23

YT0014さま ご回答ありがとうございます。 該当のコードに修正して試してみましたが変化ありませんでした。
guest

回答1

0

自己解決

データーベースエラーとは全く違う場所の処理に関するエラーが出ていた事が原因でした。

投稿2021/10/22 09:26

alitomo

総合スコア41

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問