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

PHPについて質問です。

PHPで以下の命令をしました。

mysql_query("UPDATE TABLE SET PICTURE1_LINK = 'D:\画像¥¥".$group."¥¥".$group."1¥¥".$number.".jpg");

登録されたデータをデータベースで見てみると¥マークが残りません。。。

D:画像AA1001.jpg

これをきちんと¥マークで以下のように表示したいのですがどのようにすればよろしいでしょうか?

D:画像¥A¥A1¥001.jpg

分かる方おりましたらよろしくお願いします。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:.jpg A1 GROUP Number PHP
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pahoo
●60ポイント ベストアンサー

mysql_query("UPDATE TABLE SET PICTURE1_LINK = 'D:\画像¥¥".$group."¥¥".$group."1¥¥".$number.".jpg");

SQL文の部分だけ取り出しましたが、まず、クォーテーションの使い方が間違っています。シングルクォーテーションとダブルクォーテーションの数が合いません。

また円マーク(¥)が全角になっていますが、本当は半角(バックスラッシュ)のことですよね。

プログラムは動いているようですので、これは「はてな」に書き込むときの typo ととらえておきます。


以上のような前提であれば、以下のように書きます。(円マークはバックスラッシュで示されています)

バックスラッシュの数は、ダブルクォーテーションの中でエスケープするために各々2個にすることは定石です。

MySQLにSQL文を発行する前に、さらに加工が必要なのですが、これは mysql_escape_string 関数に任せています。

$str = "D:\\画像\\{$group}\\{$group}1\\{$number}.jpg";
$str = mysql_escape_string($str);
$sql = "update table set PICTURE1_LINK = '{$str}';";
$res = mysql_query($sql);
◎質問者からの返答

ご回答ありがとうございます。

無事に修正できました。ありがとうございます。

関連質問


●質問をもっと探す●



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