アプリ版:「スタンプのみでお礼する」機能のリリースについて

$sql = "insert into $DB (data1, data2) values (\"$data1\", \"$data2\") ;

PHPにてMySQLを操作していますが、上記のように
insertする項目の文字列に数字が入ると
insertする際に、data1がそのままdata1として書き込まれてしまいます。
$sata1 = 'text or int';
data1 = $data1; として書き込みたいのですが…

アドヴァイスお願い致します。

A 回答 (1件)

これはmysqlの質問というよりも、PHPの文字列における変数の扱いに関する質問という感じですか?要は"$data1"が変数$data1ではなく、"$data1"という文字列になるという事でしょうか。



$sqlの実行直前にprint $sqlというように$sqlの中身がどうなっているのか表示させてみましょう。

PHPでは""の中でも$xxxの形式は変数として扱われて値が代入されます。が、文字列によってはPHPがどこまで変数なのか判断できない場合もあるので、.にて文字列を連結させると確実です。

ちなみにlinuxでテストすると質問のSQLでは正常に$data1,$data2の中身が表示されました。念のためですが、ダブルクォーテーションの数が合っていませんが、これは単なるタイプミスですよね?
    • good
    • 0
この回答へのお礼

wakame0729さん、どうもありがとうございます。
Dクォーテーションはタイプミスでした。すみません。
この度の問題は、はずかしながら
変数が20個近くあったので、タイプミスをしていただけでした(汗)
どうもお騒がせしてすみませんでした。

wakame0729さん、どうもありがとうございました。

お礼日時:2005/06/05 10:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す