php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.02.2005, 20:53  
Gast
 
Beiträge: n/a
Standard mysql_fetch_row will nicht - kleines Script Fehlersuche

Untenstehendes Script (html-header etc. hab ich der Uebersicht wegen weggelassen) gibt folgendes aus:

Resource id #3
alles_ueber_mich
Resource id #4
keine Zeile

Code:
<?php
   $host= "localhost";
   $user= "andisweb";
   $passwort= "beispiel";
   $dbname="andisweb";
   $verbindung = mysql_connect($host, $user, $passwort) or die("verbindung fehlgeschlagen");
   echo ($verbindung."
");
   if(!mysql_select_db($dbname,$verbindung))
     die("datenbank konnte nicht ausgewählt werden");
   $link= $_GET['link'];
   echo ($link."
");
   $sql = "SELECT * FROM inhalt WHERE link=\"$link;\"";
   $ergebnis = mysql_query($sql, $verbindung);
   if(!$ergebnis)
     die("kein ergebnis aus datenbankabfrage");
   echo ($ergebnis."
");
   $zeile = mysql_fetch_row($ergebnis);
   if(!$zeile)
     echo("keine Zeile");
   $title = $zeile[0];
   $inhaltstext= $zeile[1];
   mysql_close($verbindung);
   echo ("<div id=\"leftbox\"><h1>$title</h1>
$inhaltstext</div>")
?>

warum gibt gibt es den title und den Inhaltstext nicht aus?
Bzw. warum sagt es "keine Zeile" ?

Thx,

Andreas Joos
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.02.2005, 21:08  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

bitte immer mysql_error() verwenden. ausserdem was sagt mysql_num_rows() wie viele ergebnisse hast du denn aus der db geholt? bzw wie viele hat er gefunden.
robo47 ist offline   Mit Zitat antworten
Alt 12.02.2005, 08:22  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Es sieht so aus, als ob es in der DB keine Zeile mit diesem Suchbegriff gibt. Lass deine Abfrage ausgeben und kopiere sie z.B. nach phpMyAdmin, um das zu prüfen. Ausserdem scheinst du das Error_reporting (teilweise) ausgeschaltet zu haben, sonst gäbe es Fehlermeldungen. Aktiviere in der php.ini die Zeile
Code:
error_reporting = E_ALL
oder setze die folgende Zeile vor deinen Code:
Code:
ini_set('error_reporting', E_ALL);
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 12.02.2005, 08:45  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

error_reporting(E_ALL);
tut es auch, jenachdem obs offline oder online ist, kannst du mit php.ini und ini_set so deine probleme bekommen.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 12.02.2005, 11:44  
Gast
 
Beiträge: n/a
Standard

nicht so:

$sql = "SELECT * FROM inhalt WHERE link=\"$link;\"";

sondern so:

$sql = "SELECT * FROM inhalt WHERE link = '$link' ";

_____________
mfG -dilemma-
  Mit Zitat antworten
Alt 12.02.2005, 11:46  
Gast
 
Beiträge: n/a
Standard

Fast richtig

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Gruß
phpfan
  Mit Zitat antworten
Alt 12.02.2005, 11:56  
Gast
 
Beiträge: n/a
Standard

@ phpfan:

Ich gehe grundsätzlich davon aus, daß jeder dieses kennt/weiß:

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Und irgendwie finde ich, daß das permanente Verweisen auf den o.g. Link
wenig hilfreich - und manchmal absolut unnötig - ist.

Gruß -dilemma-
  Mit Zitat antworten
Alt 12.02.2005, 12:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dilemma
Ich gehe grundsätzlich davon aus, daß jeder dieses kennt/weiß:
Da liegst du aber gewaltig daneben.
Zitat:
Zitat von dilemma
Und irgendwie finde ich, daß das permanente Verweisen auf den o.g. Link wenig hilfreich - und manchmal absolut unnötig - ist.
Auch da liegst du gewaltig daneben. Es ist nicht nur hilfreich, eine Lösung zu schreiben, es ist auch hilfreich zu schreiben, wie man es richtig macht.

Gruß
phpfan
  Mit Zitat antworten
Alt 12.02.2005, 12:49  
Gast
 
Beiträge: n/a
Standard

@Gryfie:
Ich vermute folgendes:

Du hast in deiner DB-Tabelle eine Spalte mit der Bezeichnung 'alles_ueber_mich' .
Diese Spalte soll ausgelesen werden,
wenn
------> in $_GET['link'] 'alles_ueber_mich' steht.

Wenn das zutreffend ist, solltest du die Abfrage evtl. so formulieren:

---> $link = TRIM($_GET['link']);

und dann so:

$sql = "SELECT $link FROM inhalt";

Und eventuell hier noch zur Kontrolle folgendes:

echo "<hr>Abfrage:
". $sql ."<hr>";

Und hinter dieser Zeile:

$ergebnis = mysql_query($sql, $verbindung);

... noch folgendes einfügen:

echo "Die Abfrage hat ". mysql_num_rows() ." Treffer gefunden
";

...
wenn ich dein Problem richtig erkannt habe.
...

mfG -dilemma-


ps@phpfan:
Manchmal ist es auch hilfreich,
wenn man seine Glaskugel putzt!
  Mit Zitat antworten
Alt 12.02.2005, 20:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47
bitte immer mysql_error() verwenden. ausserdem was sagt mysql_num_rows() wie viele ergebnisse hast du denn aus der db geholt? bzw wie viele hat er gefunden.
Hm... er sagt 0. Muss ich mal schauen, woran das wohl liegt,. auf den ersten Blick muesste er 1 Datensatz finden.

Thx erstmals.

Andreas Joos
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Script beendet sich ohne Fehlermeldung Zahl PHP Tipps 2006 6 04.06.2006 20:41
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
Fehlersuche ! Login Script ! PHP Tipps 2005-2 3 23.06.2005 15:06
kleines Problem mit Script renzo PHP Tipps 2005-2 7 16.06.2005 09:11
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
kleines script Beitragsarchiv 9 01.05.2005 16:02
Fehler bei Script, welches Ordner erstellt PsychoEagle PHP Tipps 2005 3 23.04.2005 16:03
Cäsar-Verschlüsselung oder auch Fehlersuche im Script PHP Tipps 2005 13 31.03.2005 00:43
[Erledigt] python script mit php aufrufen... PHP-Fortgeschrittene 1 17.11.2004 17:11
Suche Coder für kleines aber feines Script! Beitragsarchiv 0 15.10.2004 21:50
PHP Script aus PHP aufrufen Stümper PHP Tipps 2004 5 26.09.2004 08:15
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_fetch_row, php mysql fetch_row gibt nichts aus, if mysql_fetch_row, mysql_fetch_row inhalt, sql mysql_fetch_row, mysql_fetch_row sql, script fehlersuche, datenbankabfrage mit mysql_fetch_row, php mysql_fetch_row, fehler in der zeile ? mysql_fetch_row(mysql_query($sql));, mysql_fetch_row php, php script fehlersuche, mysql_fetch_row datenbank php, mysql_fetch_row id

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.