人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPとMYSQLについて教えてください。データベース登録時に下記のようなデータを登録しようとするとエラーになってしまいます。phpmyAdmin等を使用して直接データーベースへ入力するとエラーは起きません。
考えられる原因を教えていただけたらと思います。

messegeの内容をデータベースへ入力しようとするとエラーになります。
$messege="<a href="http://www.test.co.jp" target="blank">http://www.test.co.jp</a>

●質問者: purupuru820
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL PHP phpMyAdmin エラー データ
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● yusuke6461
●0ポイント

http://q.hatena.ne.jp/list?type=jinriki

↑ダミー


2 ● ねぎ
●50ポイント

これはMySQLの問題ではなくPHPでの記述方法の問題だけだと思います。

今回は、""(ダブルクォーテーション)がきちんと指定されていないのが原因と思われます。

変数に保存する際に、html文は下記のように単純に''(ダブルクォーテーション)で囲むようにすると間違いが少なくなりデバッグもしやすくなると思いますよ。

$messege="<a href='http://www.test.co.jp' target='blank'>http://www.test.co.jp</a>"

最近全然PHPに触れてないからエスケープ記号が\であったか自信はないのですが、html文中にどうしても""(ダブルクォーテーション)を使用したい場合は""をエスケープして

$messege="<a href=\"http://www.test.co.jp\" target=\"blank\">http://www.test.co.jp</a>"

のように記述すればOKだと思います。

ご存知だとは思いますが、""(ダブルクォーテーション)で囲んだ中での変数($hoge等)は展開しされてしまうので、そちらもお気を付けください。

◎質問者からの返答

回答ありがとうございます。エスケープ処理で上手くいきました。


3 ● tobeoscontinue
●50ポイント

PHPの文字列では'か"で両端を囲まなくてはなりません。

文字列の中に"が含まれていた場合、それが文字列の一部なのか括りの一部なのか判断に困ります。

$messege="<a href="http://www.test.co.jp" target="blank">http://www.test.co.jp</a> 

の場合

$messege='<a href="http://www.test.co.jp" target="blank">http://www.test.co.jp</a>';

のように'で括るのが面倒がなくていいと思います。

◎質問者からの返答

回答ありがとうございます。質問文では最後の"が抜けていたようです。エスケープ処理にて動作しました。


4 ● Mook
●200ポイント ベストアンサー

センテンス中にダブルコーテーションが含まれているためです。

$messege="<a href=\"http://www.test.co.jp\" target=\"blank\">http://www.test.co.jp</a>"; 

とデータ中のダブルコーテーションの前に\(半角の¥マーク)を置くか

$messege='<a href="http://www.test.co.jp" target="blank">http://www.test.co.jp</a>'; 

のように、データの前後をシングルコーテーションでくくるようにすれば良いと思います。


文字列/PHP入門

◎質問者からの返答

回答ありがとうございます。ご指摘のようにダブルコーテーションの問題でした。非常に分かりやすい解説でした。


5 ● tsuntsuku
●50ポイント

ついこの間、同じ症状に悩まされました。私はスクリプト等には詳しくないのでなぜおかしくなったかはわかりませんが、hrefやtargetのダブルクォーテーションをとったら正常に稼動しました。

href="http://www.test.co.jp"

target="blank"

の部分を

href=http://www.test.co.jp

target=blank

◎質問者からの返答

回答ありがとうございます。エスケープ処理で上手くいきました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ