非常に初歩的な質問で申し訳ないのですが、
今、phpMyAdminでSQLを送信して値を更新しようとしています。
しかし、その値はセミコロンを含んでいるため、エラーとなってしまいます。
(セミコロンを削除したら正常に登録されます)
セミコロンをエスケープするためにはどうしたらいいでしょうか。
すぐわかると思ったのですが、検索でも意外と見つけられず、質問させていただきました。
SQLは
UPDATE mytable SET para='<span style="font-size:24px;">';
といったものです。
MySQL5.7
PHP5.6
phpMyAdmin 4.8.1
を利用しています。
よろしくおねがいします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
自己解決
ご回答いただきましたみなさま、たいへんありがとうございました。
おかげさまで、phpMyAdminのクエリのシミュレートでのみ発生していて、SQL自体は実行したら問題なく通るという、私のもう一押しが足らなかったことがわかりました。
クエリのシミュレートを使う時は、その癖を理解して使うように注意したいと思います。
ありがとうございました。
投稿2018/11/30 03:12
総合スコア37
0
delemiterを調整してみるとか
- 元データ
SQL
1create table tbl(id int,para varchar(200)); 2insert into tbl values(1,'hoge'),(2,'fuga');
- 実行
SQL
1delimiter // 2UPDATE `tbl` SET para='<span style="font-size:24px;">' where id=1// 3delimiter ; 4
投稿2018/11/30 02:45
総合スコア114769
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
https://oshiete.goo.ne.jp/qa/2592175.html
こちらの記事にあるように、phpMyAdminでのみ起きる現象のような気もします。
但し情報が古い!
rururu3さんも再現できていないようですし。
私は環境がないのでSQL Fiddleで試しましたが、こちらも再現せずです。
何かわかったら追記します。
投稿2018/11/29 07:12
総合スコア16998
0
セミコロンじゃなくてtableっていう名前が予約語になってるためではないかと思います。
SQL
1UPDATE `table` SET para='<span style="font-size:24px;">';
でできませんか?
投稿2018/11/29 06:47
総合スコア5545
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/29 06:51
2018/11/29 07:06
2018/11/29 07:10
2018/11/29 07:47
2018/11/29 08:13
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。