このサイトに投稿されたこのトピックに対してさまざまな解決策が提供されていることを知っており、それらの解決策のいくつかを確認 (および使用) しました。それにもかかわらず、以下のコードが機能しない理由がわかりません。おそらく、私が php および sql プログラミングの初心者であるためです ;-(
このコードは、テーブル (persons) に 3 つのフィールド (FirstName、LastName、Age) を持つレコードを追加することになっていますが、レコードがまだ存在しない場合のみです。したがって、既存の FirstName および Lastname フィールドのチェックが実行されます。ただし、既存のレコードの場合、if ステートメントの条件は依然として true のように見え、既存のレコードのコピーがデータベースに挿入されます。何が恋しいですか?
助けてくれてありがとう。
//check whether item does not exist in database
$query ="SELECT FirstName,LastName FROM persons
WHERE FirstName='$data[1]' AND LastName='$data[2]'";
$result = mysql_query($query);
if($result && mysql_num_rows($result) > 0)
{
echo " <br> record exist";
}
else
{
$theage = (int)$data[3]; //! for conversion of integer values
$sql="INSERT INTO persons (FirstName, LastName, Age)
VALUES ('$data[1]','$data[2]','$theage')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
}