またお世話になります。
PHPからMySQLへデータをインサートしたいのですが、各サイトを参考にしながら試しているのですがどうにも上手くいきません。
ソースを見ていただけますでしょうか?
$con = mysql_connect("localhost","user","password")
or die("MySQLに接続できません。");
mysql_select_db('test');
$sql = "SET CHARACTER SET UTF8";
$result = mysql_query($sql);
$data1 = $HTTP_POST_VARS["inpdata1"];
$data2 = $HTTP_POST_VARS["inpdata2"];
$data3 = $HTTP_POST_VARS["inpdata3"];
$sql = 'INSERT INTO `tab1` (`abc`, `def`, `ghi`) VALUES (`$data1`,`$data2`,`$data3`);';
$result = mysql_query($sql);
print $data1; //ここでは通常にデータが表示されるので
print $data2; //データの受け渡しは問題ないはずですが。
print $data3;
mysql_free_result($result);
mysql_close($con);
No.1ベストアンサー
- 回答日時:
$result = mysql_query($sql) or die(mysql_error());
としてデバッグしてみるといいですよ。
×$sql = 'INSERT INTO `tab1` (`abc`, `def`, `ghi`) VALUES (`$data1`,`$data2`,`$data3`);';
○$sql = "INSERT INTO `tab1` (`abc`, `def`, `ghi`) VALUES ('$data1','$data2','$data3')";
単純に、valuesの中で渡すデータはバッククォーテーションではなく
シングルクォーテーションです。フィールド名ではなくデータを
わたしたいのですから・・・。
$sql変数に代入する場合のくくりはダブルクォーテーションですね。
(変数を参照するため)
それと念のため、sqlのケツのセミコロンは取っておいた方がよいです。
環境も書かない(書き忘れた)失礼な質問に親切なお礼、ありがとうございます。
無事上手くいきました。
ただ
>それと念のため、sqlのケツのセミコロンは取っておいた方がよいです。
このケツのセミコロンはないとエラーになってしまいました。
付けてあって正解のようです。
ところでこのような質問はMySQL側でよろしいのでしょうか?
PHP側で質問するべきでしょうか?
この回答だけ頂いたら回答を締め切らせていただこうと思います。
No.2
- 回答日時:
うーん、どっちなんでしょうね・・・
ま、マルチポストさえしなければどっちでもいいんじゃないですか?
私は両方ともこまめに見てますので、どちらでも
フォローできると思いますよ。
>ケツのセミコロン
説明不足ですみませんが、ケツのセミコロンとはSQL分のセミコロン
のことを言いたかったのです。
場合によってはこれをつけるとエラーになることがあります。
もちろんほんとのケツのセミコロンはPHPの文法上の区切り文字
なので必須です。
セミコロン、また私が勘違いしていたようですね。
理解できました、ありがとうございます。
マルチポストは確かにまずいですね。
今後も一連の質問は、とりあえずこちらのほうにさせていただこうと思います。
非常に簡単なものですが、なんとか作成しているデータベースも型になってきました。
同時にMySQLとPHPも少し分かってきたような気がします。
今後もぜひご指導お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- PHP php エラー 2 2022/10/23 16:43
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コメントが消えてしまいます
-
大阪府(25件)みたいなカウン...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
like句を使って日本語を検索す...
-
MYSQLで日本語が入力できない
-
oracle、DB2、SqlServerのフィ...
-
RPMのmysqlとmysql-serverの違い
-
シングルクォーテーションとダ...
-
xamppの設定の問題でしょうか。...
-
phpmyadminから別ホストへの接...
-
my.iniで設定するパスワードの...
-
SQLで日本語データを入力したい...
-
さくらのレンタルサーバで文字...
-
mysqlのLOADでオートコミットオ...
-
[Apache]の項目だけが赤文字です。
-
mysqldが実行できない
-
ODP.NETのバージョン確認
-
列数が多いと結果が行単位に改...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP+MySQLから結果セット取得後...
-
PEARでレコード数の取得
-
コメントが消えてしまいます
-
phpからinsertできない
-
【php+mysql】mysqlのレコード...
-
SQLiteについて
-
SQL whereの中のif文について
-
PHP+MySQLによるINSERTについて
-
MySQLで、INSERT文でエラー
-
大阪府(25件)みたいなカウン...
-
レコード新規・編集時に自動で...
-
.sqlのファイルをそのままコマ...
-
ダブルコーテーションやシング...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
ODP.NETのバージョン確認
-
旧filemakerで和暦(令和など)...
-
ERROR 1045 (28000) (using pas...
-
副問合せにLIKE文を使う方法は...
-
INT型は金額の型に使用するべき...
おすすめ情報