![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
はじめまして。
mysql 4.0.26でaes_decryptを使うとsyntax errorとなってしまいます。(mysql4.0.26+phpMyAdmin 2.6.4-pl2)
aes_decryptに関してはこのサイト及びGoogleで調べていろいろ試したのですが実行することができませんでした。
皆様のお知恵を拝借したく質問を作成させていただきました。
ご教授の程よろしくお願いいたします。
-- 実行したソース --
select col1, aes_decrypt(col2, 'key') as col2 from tbl;
-- エラーメッセージ --
#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 '( col2 , 'key' ) as col2 from tbl LIMIT 0, 30' at line 1
以下のソースを実行するとエラーが発生することなく終了しますが、
最後のdrop table文を削除すると上記のエラーが発生します。
--- 以下ソース ---
create table tbl( col1 integer, col2 tinyblob );
insert into tbl(col1, col2) values (1, aes_encrypt('test','key'));
select col1, aes_decrypt(col2, 'key') as col2 from tbl;
drop table tbl;
---
上記ソースを実行したときのphpmyadminのメッセージです
--
SQL 照会が正常に実行されました
実行した SQL 照会:
CREATE TABLE tbl(
col1 integer,
col2 tinyblob
);# MySQLが空の値を返しました。(例えば行が空とか).
INSERT INTO tbl( col1, col2 )
VALUES ( 1, aes_encrypt( 'test', 'key' ) ) ;# 影響された行数:1
SELECT col1, aes_decrypt(
col2, 'key'
) AS col2
FROM tbl;# 行: 1
DROP TABLE tbl;# MySQLが空の値を返しました。(例えば行が空とか).
--
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
情報が不正確です。
実行したというSQLのソースと、エラーメッセージ中に埋め込まれているソース(「~LIMIT 0, 30」指定) が合っていませんが?
最後にphpMyAdminで実行結果(?)が示されていますが、phpMyAdminではエラーにならず、別のクライアント(ソフト)で実行したらエラーになったと言ってますか?
これだけでは、「aes_encrypt関数が原因」と判断した理由が分かりません。
このソースでは○○、このソースでは××と、正しい対応で示してください。
この回答への補足
chukenkenkou様
ご指摘ありがとうございます。補足させていただきます。
>実行したというSQLのソースと、エラーメッセージ中に埋め込まれてい>るソース(「~LIMIT 0, 30」指定) が合っていませんが?
LIMIT 0,30はphpMyAdminが自動的に追加しているようです。
>最後にphpMyAdminで実行結果(?)が示されていますが、phpMyAdmin
>ではエラーにならず、別のクライアント(ソフト)で実行したらエラ
>ーになったと言ってますか?
問題はphpからPEARのDBクラスライブラリを利用したアプリケーション内で発生し、切り分けを行うためにphpmyadminでテストしていました。
エラーが出るのはアプリ、phpmyadmin共に同じです。
phpmyadminの実行結果のあたりわかりづらかったですね。申しわけありません。
--
create table tbl( col1 integer, col2 tinyblob );
insert into tbl(col1, col2) values (1, aes_encrypt('test','key'));
--
でテーブル作成、行の挿入を行い
---
select col1, aes_decrypt(col2, 'key') as col2 from tbl;
--
でselectするとエラーが発生しますが、
以下のようにdrop tableを追加するとエラーは発生しません。
ただし、selectの結果は表示されないため正しくデータが抽出されているかは不明です。
---
create table tbl( col1 integer, col2 tinyblob );
insert into tbl(col1, col2) values (1, aes_encrypt('test','key'));
select col1, aes_decrypt(col2, 'key') as col2 from tbl;
drop table tbl;
---
chukenkenkou様
ご指摘ありがとうございます。補足させていただきます。
>実行したというSQLのソースと、エラーメッセージ中に埋め込まれてい>るソース(「~LIMIT 0, 30」指定) が合っていませんが?
LIMIT 0,30はphpMyAdminが自動的に追加しているようです。
>最後にphpMyAdminで実行結果(?)が示されていますが、phpMyAdmin
>ではエラーにならず、別のクライアント(ソフト)で実行したらエラ
>ーになったと言ってますか?
問題はphpからPEARのDBクラスライブラリを利用したアプリケーション内で発生し、切り分けを行うためにphpmyadminでテストしていました。
エラーが出るのはアプリ、phpmyadmin共に同じです。
phpmyadminの実行結果のあたりわかりづらかったですね。申しわけありません。
--
create table tbl( col1 integer, col2 tinyblob );
insert into tbl(col1, col2) values (1, aes_encrypt('test','key'));
--
でテーブル作成、行の挿入を行い
---
select col1, aes_decrypt(col2, 'key') as col2 from tbl;
--
でselectするとエラーが発生しますが、
以下のようにdrop tableを追加するとエラーは発生しません。
ただし、selectの結果は表示されないため正しくデータが抽出されているかは不明です。
---
create table tbl( col1 integer, col2 tinyblob );
insert into tbl(col1, col2) values (1, aes_encrypt('test','key'));
select col1, aes_decrypt(col2, 'key') as col2 from tbl;
drop table tbl;
---
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- PHP php エラー 2 2022/10/23 16:43
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- JavaScript java keyを配列で表記したい 10 2022/12/01 17:53
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブル作成でエラーが出てき...
-
MYSQLサービス停止時にWindows...
-
MySQLのテーブル作成でハイフン...
-
mysqlのLOADでオートコミットオ...
-
MYSQLのログにつきまして
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
MySQLカラム名は日本語と英数字...
-
mysqlへのインポート処理がうま...
-
postgreSQLのデータ型
-
INT型は金額の型に使用するべき...
-
like句を使って日本語を検索す...
-
ERROR 1045 (28000) (using pas...
-
副問合せにLIKE文を使う方法は...
-
AccessからOrcleのODBCリンクテ...
-
VBAで変数内に保持された二次配...
-
ODP.NETのバージョン確認
-
MySQLに外部PCから接続できない
-
Float型の時の計算結果がおかしい
-
Usage: \\.<filename> | sourc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブル作成でエラーが出てき...
-
MySQL エラー Duplicate entry...
-
MySQLのテーブル作成でハイフン...
-
MYSQLサービス停止時にWindows...
-
実行時エラー80004005
-
aes_decryptでsyntax error
-
SQLで抽出してCSVで書き出した...
-
LIMIT で条件を満たしているの...
-
MYSQLのデータに「;」を入力
-
(統計量の)分散を算出したい
-
mysqlコマンドにてタイムアウト
-
MySQLのエラーコード1064の見方
-
MySQLのCHECK制約がうまくいき...
-
phpMyAdminについて
-
mysqlのLOADでオートコミットオ...
-
何がおかしいでしょうか?
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
MySQLカラム名は日本語と英数字...
おすすめ情報