私は数日前に投稿しました。追加のレコードをMySQLデータベースのセットアップに挿入できませんでした。構文を修正しましたが、データベースは再び更新されません。基本的には、PHPがデータベースに挿入する最終ページのプロセスになるまで、次のページにセッションを運ぶHTMLのカップルフォームがあります。それは2回働いた(今はデータベースに2つのレコードがある)が、追加のレコードは挿入されない。数日前にうまくいきました。私が何かに対して行った唯一の変更は、同じユーザーと同じデータベースにアクセスする検索機能を追加したことですが、そのスクリプトの最後にも接続が閉じられています。ここでは、私はデータベースに挿入するために使用しているコードです(私はそれが最高のコーディングジョブではないことを知っています、私はまだ学んでいます)。PHP/MySQL - データベースをINSERTすることができません
<?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(これは、主キーフィールドである) OS MAC モデル AntiVirusの ブラウザ メール 接続 サウンド ポート
:としての列が設定されています私は今日それをもう一度試すまで。それは検索のために私のコードと関係がある可能性がありますか?
検索は、別のページに簡単なフォームで、このフォームを処理します。
<?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つの既存のレコードをプルアップしますが、私は新しいレコードを追加し、私はできませんそれと何か関係があるのだろうかと疑問に思います。
ありがとうございます。私の構文はおそらく最高ではないので、このサイトからの提案は常に高く評価されます。
文字列値を正しく構文エラーやおそらくSQLインジェクションを避けてください。 – Gumbo
あなたのコードに 'mysql_error()'を出力しています - それは何を言いますか? –
さて、mysql_error()の結果を投稿してください。 – SteAp