2012-02-21 21 views
4
$sql = "INSERT INTO toplist 
     (serverName, serverPassword, serverIp, serverPort, serverBanner, 
     serverShortDescription, serverDescription) 
     VALUES 
     ('$_POST[serverName]', '$_POST[serverPassword]', '$_POST[serverIp]', 
     '$_POST[serverPort]', '$_POST[serverBanner]', 
     '$_POST[serverShortDescription]', '$_POST[serverDescription]')"; 

if (!mysql_query($sql, $con)) { 
    die('Error: ' . mysql_error()); 
} 

echo "The server " . $_POST[serverName] . "," . $_POST[serverIp] 
    . " has been added."; 

mysql_close($con); 

「serverIp」というエントリがまだ存在しない場合は、すでに存在する場合はデータベースに追加し、存在しない場合はデータベースに追加します何もしない。また、大文字と小文字も区別されますか?あなたはそれをバイパスすることができますか?PHP/MySQL:存在しない場合はレコードを挿入

+1

[SQLインジェクション攻撃(http://xkcd.com/327/)ケース感度よりも大きい関心事です。 –

答えて

7

INSERT IGNORE ...カラムにユニークな制約がある場合は挿入されません。私は大文字小文字を区別したくない場合は、挿入する前に文字列を小文字にします。

http://dev.mysql.com/doc/refman/5.5/en/insert.html

This may also be helpful.

+1

+1彼がMyISAMを使用している場合(最も一般的であり、最も可能性が高い)、この状況では制約は適用されません。 –

+0

これを実装する際に問題があります。 – Hunt3r

+0

ありがとう!これが存在することは決して知らなかった....そして@ mmmshuddup、非常に良い点。 –

関連する問題