SQL - WENN EXISTS UPDATE ELSE INSERT INTO

Was ich versuche zu tun, istINSERT Abonnenten in meiner Datenbank, aberIF EXISTS es sollteUPDATE die Reihe,ELSE INSERT INTO eine neue Reihe.

Natürlich verbinde ich mich zuerst mit der Datenbank undGET das$name, $email und$birthday von der URL-Zeichenfolge.

$con=mysqli_connect("localhost","---","---","---");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$name=$_GET['name']; 
$email=$_GET['email'];
$birthday=$_GET['birthday'];

Dies funktioniert, fügt jedoch nur die neue Zeile hinzu.

mysqli_query($con,"INSERT INTO subs (subs_name, subs_email, subs_birthday)
VALUES ('$name', '$email', '$birthday')");

mysqli_close($con);

Folgendes habe ich versucht:

mysqli_query($con,"INSERT INTO subs (subs_name, subs_email, subs_birthday)
VALUES '$name', '$email', '$birthday'
ON DUPLICATE KEY UPDATE subs_name = VALUES($name), subs_birthday = VALUES($birthday)");
mysqli_close($con);

und

mysqli_query($con,"IF EXISTS (SELECT * FROM subs WHERE subs_email='$email')
    UPDATE subs SET subs_name='$name', subs_birthday='$birthday' WHERE subs_email='$email'
ELSE
    INSERT INTO subs (subs_name, subs_email, subs_birthday) VALUES ('$name', '$email', '$birthday')");
mysqli_close($con);

und

mysqli_query($con,"IF NOT EXISTS(SELECT * FROM subs WHERE subs_email='$email')
Begin
INSERT INTO subs (subs_name, subs_email, subs_birthday)
VALUES ('$name', '$email', '$birthday')
End");
mysqli_close($con);

Aber keiner von ihnen arbeitet, was mache ich falsch?

Jede Hilfe wird sehr geschätzt!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage