PHPでDBへのデータのの挿入がうまくいきません。
PHPでDBへのデータのの挿入がうまくいきません。
PHP初心者です。
質問を2つほどさせてください。
質問1
レンタルサーバ(ロリポップ)で簡単な値の受け渡しを試そうと思い入力フォームと、PHP側でDB接続(ここまではなんとかできました。)と、POSTで受け取ったデータをinsert intoでDBに挿入したいのですが、データが空っぽの状態でしか挿入できません。
phpmyadminで確認していますが、idはA_Iをチェックしているので1,2,3,4....と挿入されていきますが、その他はデータが空の状態で増えていきます。
NOT NULの設定をしていなく、フィールドが空白なので、NULLの状態で挿入されていると思います。
原因は名でしょうか?
test.html
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div id="content">
<form action="test.php" method="post">
<input type="text" name="member_id" />
<input type="text" name="member_name" />
<input type="text" name="member_text1" />
<input type="text" name="member_text2" />
<input type="submit" value="送信" />
</form>
</div>
</body>
</html>
test.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
</head>
<body>
<?php
mb_language("uni");
mb_internal_encoding("utf-8");
mb_http_input("auto");
mb_http_output("utf-8")
$con = @mysql_connect('ホスト','ユーザ','パス') or die("接続不可");
mysql_query("set names utf8",$con);
$db = "LAA0161195-kuro";
$sdb = mysql_select_db($db,$con) or die("接続不可");
print "接続成功<br />";
$sql = "insert into test values('$_post_vars[id]','$_POST[name]','$_POST[text1]','$_POST[text2]')";
$result = mysql_query($sql,$con) or die("SQL失敗");
mysql_close($con);
?>
</body>
</html>
質問2
また、文字化けの対策は一通りしたつもりですが、接続時のprint(接続成功)が????と文字化けします。
ググって文字化け対策は一通りできているつもりです。
こちらの原因も分かりません。
冬休みの学校の課題なので困っています。
よろしくお願いします。
お礼
試したところ成功しました。ありがとうございます。初心者で申し訳ありませんでした。
補足
ご返答ありがとうございます。 >追加メニュー とは何ですか?すいません。初心者なもので、、、 例えば↓これだったら $sql = "INSERT INTO data (year, month, day, comment) VALUES (NULL, \"$month\", \"$day\", \"$comment\")"; これで、NULLになると解釈していいのでしょうか?よろしくお願いします。