数日前に投稿しましたが、セットアップしたMySQLデータベースに追加のレコードを挿入できませんでした。構文を修正しましたが、データベースが再度更新されません。基本的に、PHPがデータベースに挿入する最終ページのプロセスになるまで、セッションを次のページに引き継ぐHTMLのフォームがいくつかあります。2回機能しましたが(現在データベースに2つのレコードがあります)、追加のレコードは挿入されません。数日前は問題なく動作しました。私が何かに加えた唯一の変更は、同じユーザーで同じデータベースにアクセスする検索機能を追加したことですが、そのスクリプトの最後でも接続が閉じられます。これが私がデータベースに挿入するために使用しているコードです(私はそれが最良のコーディング作業ではないことを知っています、私はまだ学んでいます)。
<?php
$con = mysql_connect("localhost","my_username","mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dgibbo1_imaging", $con);
// Here too, please mysql_real_escape_string() all parameters
mysql_query("INSERT INTO imaging (os,MAC,Model,AntiVirus,Browser,Email,Connectivity,Sound,Ports) VALUES ('".$_SESSION['imaging2']."','".$_SESSION['imaging3']."','".$_SESSION['imaging4']."','".$_SESSION['antivirus']."','".$_SESSION['browser']."','".$_SESSION['email']."','".$_SESSION['connectivity']."','".$_SESSION['sound']."','".$_SESSION['ports']."')");
OR die("Could not update: ".mysql_error());
mysql_close($con);
?>
データベースの名前はイメージングです。列は次のように設定されます。id(これは主キーフィールドです)osMACモデルアンチウイルスブラウザ電子メール接続サウンドポート
今日再試行するまで、問題なくレコードが挿入されたのは奇妙だと思います。検索用のコードと関係がある可能性はありますか?
検索は別のページの単純なフォームであり、このフォームを処理します。
<?php
$con = mysql_connect("localhost","my_user","mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dgibbo1_imaging", $con);
// Always escape parameters injected into SQL queries
$result = mysql_query( "SELECT * FROM imaging WHERE MAC LIKE '%"
. mysql_real_escape_string ( $search, $con )
. "%'"
);
echo "<table border='1'>
<tr>
<th>MAC</th>
<th>Model</th>
<th>AntiVirus</th>
<th>Email</th>
<th>Browser</th>
<th>Connectivity</th>
<th>Sound</th>
<th>Ports</th>
</tr>";
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['MAC'] . "</td>";
echo "<td>" . $row['Model'] . "</td>";
echo "<td>" . $row['AntiVirus'] . "</td>";
echo "<td>" . $row['Email'] . "</td>";
echo "<td>" . $row['Browser'] . "</td>";
echo "<td>" . $row['Connectivity'] . "</td>";
echo "<td>" . $row['Sound'] . "</td>";
echo "<td>" . $row['Ports'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
その間、検索は毎回2つの既存のレコードを正常にプルアップしますが、新しいレコードを追加することはできず、これと関係があるのではないかと思います。
提案をありがとう。私の構文はおそらく最良ではないことを知っているので、このサイトからの提案は常にありがたいです。