[GastForen Programmierung/Entwicklung PHP und MySQL SQL-Abfrage - Wo ist der Fehler?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

SQL-Abfrage - Wo ist der Fehler?

Gunther103
Beiträge gesamt: 157

3. Jul 2013, 10:19
Beitrag # 1 von 7
Bewertung:
(3176 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich mache folgende Abfrage:
Code
mysql_select_db("$db"); 
if (empty($text_id)) {
$query = "SELECT * FROM texte LIMIT 1";
} elseif (!empty($text_id)){
$query = "SELECT * FROM texte WHERE text_id = $new_text_id";
} else {
}
$result=mysql_query($query) or die('Abfrage fehlgeschlagen');
$row = mysql_fetch_array($result) or die ('Fehler:' . mysql_error());

Wenn $text_id leer ist, endet das Skript immer bei "Fehler:", gibt aber hier keinen Fehler aus. Das Array scheint dann leer zu sein.
Wenn "$text_id" existiert, funktioniert das Skript und läuft weiter.
Wo liegt mein Fehler?

Danke
Gunther
X

SQL-Abfrage - Wo ist der Fehler?

flobaer
Beiträge gesamt: 317

3. Jul 2013, 10:54
Beitrag # 2 von 7
Beitrag ID: #514561
Bewertung:
(3167 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gunter,

damit Du sehen kannst, was genau dort schief läuft, verwende doch ... die('Fehler: '.mysql_errno().mysql_error());

Viele Grüße
Florian


als Antwort auf: [#514560]

SQL-Abfrage - Wo ist der Fehler?

IngoUllrich
Beiträge gesamt: 47

3. Jul 2013, 11:08
Beitrag # 3 von 7
Beitrag ID: #514563
Bewertung:
(3152 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gunther,

ist $new_text_id gesetzt?

Gib doch im Fehlerfall mal den Querystring mit $query aus, also anstatt

Zitat $row = mysql_fetch_array($result) or die ('Fehler:' . mysql_error());


$row = mysql_fetch_array($result) or die ('Fehler:' . $query);

Dann kannst Du sehen, ob vielleicht am Selectstatement was nicht stimmt.

Grüße
Ingo


als Antwort auf: [#514560]

SQL-Abfrage - Wo ist der Fehler?

Gunther103
Beiträge gesamt: 157

3. Jul 2013, 13:52
Beitrag # 4 von 7
Beitrag ID: #514575
Bewertung:
(3114 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo und vielen Dank,

ich hab mir die Abfrage mit ('Fehler:' . $query) angesehen und festgestellt, dass $text_id nie leer ist, sondern dann den Wert 0 hat. Dafür hatte ich keinen Datensatz und das Array blieb leer.
Problem gelöst, vielen Dank

Gunther


als Antwort auf: [#514563]

SQL-Abfrage - Wo ist der Fehler?

IngoUllrich
Beiträge gesamt: 47

5. Jul 2013, 13:12
Beitrag # 5 von 7
Beitrag ID: #514671
Bewertung:
(3079 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gunther,

vielleicht noch ein kleiner Tipp für die Fehlersuche in Datenbank-Ergebnissen, wenn ein Statement grundsätzlich funktioniert:

Mit der Funktion var_dump() kann man sich sehr schön ein Array ausgeben lassen, also bspw.

Code
var_dump($row); 


liefert Dir den kompletten Inhalt des Arrays. Kann sehr nützlich sein.

Grüße
Ingo


als Antwort auf: [#514575]

SQL-Abfrage - Wo ist der Fehler?

IngoUllrich
Beiträge gesamt: 47

5. Jul 2013, 13:14
Beitrag # 6 von 7
Beitrag ID: #514672
Bewertung:
(3077 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gunther,

vielleicht noch ein kleiner Tipp für die Fehlersuche in Datenbank-Ergebnissen, wenn ein Statement grundsätzlich funktioniert:

Mit der Funktion var_dump() kann man sich sehr schön ein Array ausgeben lassen, also bspw.

Code
var_dump($row); 


liefert Dir den kompletten Inhalt des Arrays. Kann sehr nützlich sein.

Grüße
Ingo


als Antwort auf: [#514575]

SQL-Abfrage - Wo ist der Fehler?

IngoUllrich
Beiträge gesamt: 47

5. Jul 2013, 13:15
Beitrag # 7 von 7
Beitrag ID: #514673
Bewertung:
(3077 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gunther,

vielleicht noch ein kleiner Tipp für die Fehlersuche in Datenbank-Ergebnissen, wenn ein Statement grundsätzlich funktioniert:

Mit der Funktion var_dump kann man sich sehr schön ein Array ausgeben lassen, also bspw.

Code
var_dump($row); 


liefert Dir den kompletten Inhalt des Arrays. Kann sehr nützlich sein.

Grüße
Ingo


als Antwort auf: [#514575]
X