Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „SQL Abfrage fehlerhaft“

odomanie

Noch nicht viel geschrieben

Hallo :)

habe folgendes problem: ich möchte in einer datenbank prüfen, ob ein eintrag in einer speziellen spalte mit einem anfangsbuchstaben "A" vorkommt. Wenn ein eintrag mit "A" vorkommt, soll nur "ja" ausgegeben werden und wenn nicht "nein".

Hier mein bisheriger Code:

PHP:
<?php $Ergebnis = mysql_query("SELECT COUNT(A%) FROM tabelle");


     if (mysql_fetch_row($Ergebnis) == 0) {
    
     echo "nein";
     
     }

     else {

       echo "ja";  }
?>
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: SQL Abfrage fehlerhaft

So funktioniert das nicht. Falls du in Zukunft mehr Dinge mit SQL lösen willst/musst, solltest du dir ein paar Grundlagen-Tutorials anschauen, damit du die Konzepte verstehst und anwenden kannst.

Deine Anfrage ist schlichtweg syntaktisch falsch. Schritt für Schritt:
Alle Spalten (*) aus einer Tabelle tab auslesen:
Code:
SELECT * FROM tab
Alle Spalten (*) aus einer Tabelle tab auslesen, deren Spalte xyz den Wert foo hat:
Code:
SELECT * FROM tab WHERE xyz="foo"
Alle Spalten (*) aus einer Tabelle tab auslesen, deren Spalte xyz mit dem Wert foo beginnt:
Code:
SELECT * FROM tab WHERE xyz LIKE "foo%"
Die Anzahl der Spalten aus einer Tabelle tab auslesen, deren Spalte xyz mit dem Wert foo beginnt:
Code:
SELECT COUNT(*) FROM tab WHERE xyz LIKE "foo%"

Das kannst du sicherlich an deine Situation anpassen.

Duddle
 

odomanie

Noch nicht viel geschrieben

AW: SQL Abfrage fehlerhaft

Danke :) Du bist mir eine große Hilfe!!

Das heißt es müsste lauten:

PHP:
<?php $Ergebnis = mysql_query("SELECT COUNT(*) FROM tabelle WHERE spalte LIKE 'A%'");


      $row1 = mysql_fetch_row($Ergebnis);

     if (row1 == 0) {
    echo "nein";
    }

    else {

       echo "ja";  }
?>

soweit richtig? wäre das die sauberste lösung?
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: SQL Abfrage fehlerhaft

Bei diesem Mini-Beispiel hast du nicht viel Spielraum. Mir fällt aber auf, dass noch ein Fehler drin ist:
mysql_fetch_row() gibt entweder die derzeitige Zeile in der temporären Ergebnistabelle (erzeugt durch die SQL-Abfrage) zurück oder FALSE wenn es keine Zeilen / keine Ergebnisse mehr gibt. Die Abfrage selbst zählt aber etwas und auch 0 ist ein Ergebnis in dem Sinn.
Nun musst du den Unterschied zwischen einer Zeile und ihren Spalten bedenken. In $row1 selbst steht die komplette Zeile drin, auch wenn ihre erste Spalte eine 0 ist. Auf die Teilwerte / Spalten greifst du dann mit einem Index zu. Lange Rede, kurzer Sinn:

PHP:
$row1 = mysql_fetch_row($Ergebnis);

//da COUNT(*) die erste Spalte in der Zeile ist, per Index 0 darauf zugreifen
     if ($row1[0] == 0) {
    echo "nein";
    }
// usw.


Duddle
 

odomanie

Noch nicht viel geschrieben

AW: SQL Abfrage fehlerhaft

PHP:
<?php $Ergebnis = mysql_query("SELECT COUNT(*) FROM tabelle WHERE spalte LIKE 'A%'");


      $row1 = mysql_fetch_row($Ergebnis);

     if ($row1[0] == 0) {
    echo "nein";
    }

    else {

       echo "ja";  }
?>


Code funzt spitze!

Um nun statt auf einträge mit dem buchstaben A zuzugreifen, auf einen eintrag der mit einer ziffer (0 bis 9) beginnt, habe ich folgendes geschrieben

PHP:
<?php $Ergebnis = mysql_query("SELECT COUNT(*) FROM tabelle WHERE spalte LIKE '[0-9]%'");


      $row1 = mysql_fetch_row($Ergebnis);

     if ($row1[0] == 0) {
    echo "nein";
    }

    else {

       echo "ja";  }
?>

funzt nur leider nicht.
 
Zuletzt bearbeitet:

odomanie

Noch nicht viel geschrieben

AW: SQL Abfrage fehlerhaft

aha :)

also?!

PHP:
<?php $Ergebnis = mysql_query("SELECT COUNT(*) FROM tabelle WHERE spalte REGEXP '^[0-9]'");


      $row1 = mysql_fetch_row($Ergebnis);

     if ($row1[0] == 0) {
    echo "nein";
    }

    else {

       echo "ja";  }
?>

odomanie
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben