※ ChatGPTを利用し、要約された質問です(原文:フォームからMySQLにデータが書き込めません。)
フォームからMySQLにデータが書き込めない原因と修正方法
このQ&Aのポイント
CentOS5.3 + php5.1.6 + MySQLServer version: 5.0.77の環境でフォームからMySQLにデータを書き込むことができません。
tensuform.phpファイルに書かれたスクリプトを実行してsubmitすると、「登録できませんでした」と表示され、データの書き込みができません。
不具合の原因は何であり、データを登録するためにはどのように修正すれば良いのでしょうか?
CentOS5.3 + php5.1.6 + MySQLServer version: 5.0.77の環境です。
下記のスクリプトを書きましたが、点数を書いてsubmitすると、「登録できませんでした」が表示され、データの書き込みができません。
var_dump($sql); で$sqlの内容も表示されますし、echo($conn) も Resource id #2が返ります。 .MYD, .MYI,.frm のパーミッションは777です。
どこが不具合の原因でしょうか? データを登録するためには、どのように修正すれば良いでしょうか? ご教示願えれば幸甚です。
[tensuform.php]
<HTML><BODY>
<H1 ALIGN="CENTER">点数</H1>
<TABLE BORDER="1" ALIGN="CENTER" CELLSPACING="0">
<FORM action="tensuinst.php" METHOD ="POST">
<TR><TD BGCOLOR="#CCCCCC">点数</TD>
<TD><INPUT TYPE="TEXT" NAME="tensu" value="" maxlength="3"></TD></TR>
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE=" 書 込 ">
<INPUT TYPE="RESET" VALUE=" ク リ ア "></TD>
</TR></TABLE></FORM></BODY></HTML>
[ tensuinst.php]
<HTML><BODY>
<?php
$tensu=$_POST['tensu'];
print $tensu."<br/>";
if($tensu ==" "){
echo ("点数が書き込まれていません。");
?>
<a href="tensupoform.php">"こちらからデータを書き込んで下さい。"</a><BR>
</BODY></HTML>);
<?php exit();
}elseif(!$conn = mysql_connect('localhost', "abcd", "efgh")){
die("データベース接続エラー.<br />");
}else{ mysql_select_db("wxyz", $conn);
$sql = "INSERT INTO kokugo('tensu') VALUES('$tensu')";
// var_dump($sql); echo("<br>");
// echo($conn)."<br>";
mysql_query($sql, $conn) or die("登録できませんでした" );
mysql_close($conn);
print("登録しました。");
} ?>
お礼
有難うございました。 お蔭さまで、原因を特定することができました。感謝です。