phpbar.de logo

Mailinglisten-Archive

[php] ->mySQL Query

[php] ->mySQL Query

Stefan Hinz php_(at)_phpcenter.de
Thu, 23 Aug 2001 18:39:46 +0200


Lieber Bobby,

>wie kann ich mySQL-Querys mit IF/ELSE verschachteln?
>tabelle(Dokument,Date,Anzahl)
>Ich brauche sowas wie :
>IF(SELECT Date, Dokument FROM tabelle WHERE Date='$dat' AND
Dokument='$doku')
>         UPDATE tabelle SET Anzahl='$anz' WHERE Date='$dat' AND
>Dokument='$doku'
>ELSE
>         INSERT INTO tabelle (Date,Dokument,Anzahl) VALUES
>('$dat','$doku','$anz')

SQL ist eine nicht-prozedurale Sprache und kennt nur in sehr geringem
Umfang Kontrollstrukturen wie IF. Für solche nimmt man z. B. PHP ;-)
Richtig sieht die Sache also so aus:

$result = mysql_query("SELECT Date, Dokument FROM tabelle WHERE
Date='$dat' AND Dokument='$doku'");
$schonda = mysql_affected_rows($result);
if ($schonda) { $sql = "UPDATE tabelle SET Anzahl='$anz' WHERE
Date='$dat' AND Dokument='$doku'"; }
else { $sql = "INSERT INTO tabelle (Date,Dokument,Anzahl) VALUES
('$dat','$doku','$anz')"; }
mysql_query($sql);

Regards,
--
  Stefan Hinz
  Geschäftsführer / CEO iConnect e-commerce solutions GmbH
  #  www.js-webShop.com www.iConnect.de
  #  Gustav-Meyer-Allee 25, 13355 Berlin
  #  Tel: +49-30-46307-382  Fax: +49-30-46307-388




php::bar PHP Wiki   -   Listenarchive