Seite 1 von 1

kein SQL Fehler

Verfasst: 29.01.2006, 17:55
von FuchsT
Hallo,

ich führe folgenden SQL code aus.
UPDATE `history` SET `remark` = 'xyc' WHERE `site` = 'domain.de'

domain.de existiert aber nicht, weil ich mich zB: in der eingabe vertippt habe. SQL schluckt das trotzdem und sagt einfach "kein Datensatz" betroffen.

Gibt es eine Möglichkeit, dass SQL mir sagt domain.de existiert nicht und kann somit nicht upgedated werden?

Auch mit mysql_error() kommt nix retour....

danke
thomas

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


kein SQL Fehler

Verfasst: 29.01.2006, 18:18
von net(t)worker
hmm... aber wenn von einem update kein datensatz betroffen war, exitiert doch kein Datensatz der zu der WHERE Clausel passt.... also hast du doch schon die richtige Antwort erhalten...

kein SQL Fehler

Verfasst: 29.01.2006, 18:24
von FuchsT
naja nicht so ganz,

ich geb das ganze in einer html maske ein. da bekomm ich nix retour.
die meldung "kein datensatz betroffen" hab ich im phpMyAdmin gesehen, weil ich das da probiert hab...

sorry, hab mich blöd ausgedrückt....

gruß
thomas

kein SQL Fehler

Verfasst: 29.01.2006, 18:30
von net(t)worker
hinter deiner HTML Maske liegt dann doch sicher eine scriptsprache wie php o.ä.. Bei php kann man mit https://www.php-resource.de/manual.php? ... ected-rows
abfragen wieviele Datensätze betroffen waren... und dann hätteste die Anzahl...

Re: kein SQL Fehler

Verfasst: 30.01.2006, 01:57
von Babelfisch
FuchsT hat geschrieben:die meldung "kein datensatz betroffen" hab ich im phpMyAdmin gesehen, weil ich das da probiert hab...
Ja, weil das in phpMyAdmin ausgewertet wird und bei 0 betroffenen Datensätzen eine solche Meldung ausgegeben wird. Ein SQL-Fehler ist das aber nicht.

Du musst das halt in deinem Script auch auswerten und entsprechend darauf reagieren.

Verfasst: 30.01.2006, 06:43
von Fluidum
Wie net(t)worker schong eschrieben hat mit affected rows...

Code: Alles auswählen

/* Das sollte die korrekte Anzahl aktualisierter Datensätze liefern */
mysql_query("UPDATE history SET remark=xyc WHERE site=domain.de");
printf ("Datensätze aktualisiert: %d\n", mysql_affected_rows());

kein SQL Fehler

Verfasst: 30.01.2006, 07:41
von FuchsT
danke.
ich machs mit mysql_affected_rows.
dachte nur, das sql ev. auch anders reagieren könnte.

gruß
thomas