Ben alanlarının nerede biz 'tbl' diyeceğim bir mySQL veritabanında bir tablo var:
id, userID, favorite, emailID
Id otomatik aşamalıdır. UserID bir tamsayı saklar. Favori evet ya da hayır ya değildir. EMAILID bir tamsayı saklar.
PHP programlama yaşıyorum ve bir sorgu kimliği ve EMAILID kombinasyon varsa denetler veritabanını sorgulamak için kullanılan istiyorum. O zaman dinamik sorgu geçirilen bir form gelen bir evet ya da hayır değeri ile favori alanı güncelleştirmek yoksa. O yok, o veritabanına kombinasyonu takın.
Bu nedenle olsaydı:
<?php
$userID = 34;
$emailID = 395;
$favorite = "yes"; // could be yes or no.
Ben aşağıda sorgu doğru ama ben yapmaya çalışıyorum ne fikir alır inanmıyorum:
IF NOT EXISTS
(SELECT userID, favorite, emailID
FROM tbl
WHERE ((userID = '$userID')and(emailID = '$emailID'))
INSERT INTO tbl (userID, favorite, emailID) VALUES ('$userID', '$favorite', '$emailID')
ELSE UPDATE tbl
SET favorite = '$favorite'
WHERE ((userID = '$userID')and(emailID = '$emailID'))
(Ben böyle bir sorgu içine değerleri girerek bu sorumu açıklamaya yardımcı sadece bir güvenlik riski olduğunu biliyorum biliyorum lütfen.)
Sorgu yazmak için en iyi yolu nedir? O bir sorgu ile yazılabilir mi?