2012-05-07 22 views
1

この構文を使用して、フィールドにレコードを追加できますが、常に2レコードが追加されます。たとえば、名前としてAnaを入力します。出力は2 Anaになります。これまでに1つのレコードを削除すると、両方のレコードがテーブルから削除/削除されました。 HEreはレコードを追加するためのsysntaxです。テーブルにレコードを1つ追加する方法

<?php 
$host="localhost"; // Host name 
$username="****"; // Mysql username 
$password="****"; // Mysql password 
$db_name="inventory"; // Database name 
$tbl_name="client"; // Table name 

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 


$con = mysql_connect("localhost","root",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db("inventory", $con); 


$addclient="INSERT INTO client(account_name, maintenance_type, ma_status, ma_contract_start, ma_contract_end, ma_reference_no) 
VALUES ('". $_POST['account_name'] . "', '". $_POST['maintenance_type'] . "', '". $_POST['ma_status'] . "', '". $_POST['ma_contract_start'] . "', '". $_POST['ma_contract_end'] . "', '". $_POST['ma_reference_no'] . "')"; 

mysql_query($addclient,$con); 

if (!mysql_query($addclient,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 
echo "1 record added"; 

mysql_close($con); 
+0

あなたはまた、空の値/使用上の注意未定義の変数のためにTHOS SQLインジェクションを閉じる&チェックで動作するはずですし、なぜあなたは二回接続していますか? –

+0

@LawrenceCherone:最初の接続のように見えるのは、特定のユーザーがサーバーと特定のデータベースに接続されているかどうかを確認するだけで、他の接続はスーパーユーザーの資格情報を使用してサーバーと実際に作業します。 –

答えて

2
... 
mysql_query($addclient,$con); 

if (!mysql_query($addclient,$con)) { 
... 

は 'するmysql_query' への最初の呼び出しは、1つのコマンドを実行します。 'if'句の2番目の句は、クエリを再度実行します。

これを試してみてください:

... 
$result = mysql_query($addclient,$con); 

if (!$result) { 
... 
0

コメントこのラインPL

mysql_query($addclient,$con); 
関連する問題