Seite 1 von 2

SQL Fehler

Verfasst: 15.03.2003 12:44
von codemonkey
Moin Leute.

Ich code mir gerade ein Gästebuch zusammen. Es läuft auch alles wirklich super und ohne Fehler, nur diese verdamichte index seite, wo die ganzen Daten aus der Mysql DB geholt werden sollen, verursacht folgenden Fehler
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /www/htdocs/php/gb/index.php on line 12
und das ist der Code

Code: Alles auswählen

<?php

//Config einfügen
include('includes/config.php');

//Mysql Daten holen
if (!($result = @ mysql_query ("SELECT name, email, website, kommentar FROM gbook", $connection)))
 fehler();

while($row = mysql_fetch_row($result))
{
 for ($i=0; $i<mysql_num_fields($result); $i++)
   echo $row[$i] . " ";
   echo "<br />";
}


//Fuß einfügen
include('includes/footer.php');

?>
Ich habe schon so vieles versucht. Aber nichts hat geholfen. Eine DB-Verbindung steht, weil ich die config.php include. Also daran liegts auch nicht.
Please help! :cry:

Verfasst: 15.03.2003 15:30
von PhilippK
Mach mal das @ vor mysql_query weg - dann könnte die Fehlermeldung etwas aussagekräftiger sein...

Gruß, Philipp

Verfasst: 15.03.2003 18:10
von itst
$result == @ mysql_query

Bei if bitte 2 = verwenden. http://www.php.net/manual/de/language.o ... arison.php

Verfasst: 15.03.2003 18:32
von PhilippK
Sascha,

das mit dem einen Gleichheitszeichen hat an dieser Stelle durchaus seine Berechtigung :-D
Die Query soll ja der Ergebniskennung zugewiesen werden...

Gruß, Philipp

Verfasst: 15.03.2003 19:19
von Pyramide

Code: Alles auswählen

if(mysql_error())
     die("SQL-Fehler " . mysql_errono() . ": " . mysql_error());
Das kannst/solltest du nach jedem MySQL-Befehl einfügen. Kannst es ja in eine Funktion packen oder so.

Wird in config.ph eine Verbindung aufgebaut? Wenn nicht, liegt da der Fehler. Ansonsten hilft dir die Ausgabe von mysql_error().

Verfasst: 16.03.2003 12:30
von codemonkey
Also. Das @ habe ich jetzt weg gemacht, und ich habe den von Pyramide geschriebenen Code eingefügt. Der Code sieht jetzt so aus:

Code: Alles auswählen

<?php

//Config einfügen
include('includes/config.php');

//Mysql Daten holen
if (!($result = mysql_query ("SELECT name, email, website, kommentar FROM gbook", $connection)))
fehler();

while($row = mysql_fetch_row($result))
{
for ($i=0; $i<mysql_num_fields($result); $i++)
   echo $row[$i] . " ";
   echo "<br />";
}

if(mysql_error())
     die("SQL-Fehler " . mysql_errono() . ": " . mysql_error());

//Fuß einfügen
include('includes/footer.php');

?>
Fehler sind immernoch da. Unzwar folgende:
Stop! Es ist ein Fehler aufgetreten.
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /www/htdocs/php/gb/index.php on line 10

Fatal error: Call to undefined function: mysql_errono() in /www/htdocs/php/gb/index.php on line 18
Ich hab nochmal ein bisschen rumgebastelt, half aber nichts. Gibt es überhaupt 'mysql_errono()'??
Na ja egal.

@Pyramide
Ja, es wird eine Verbindung aufgebaut. Durch die config.php die ich in die index.php include.
Die config.php sieht so aus:

Code: Alles auswählen

<?php

//Funktionen einfügen
include('functions.php');

//Mysql Verbindung herstellen
$connection = mysql_connect("php-helper.itst.org","php","xxxxxx");
mysql_select_db("gbook", $connection);

 if(!($connection))
  {
  fehler();
  }

$table = gbook;
$db = php;

?>
in der footer.php schließe ich die Verbindung dann:

Code: Alles auswählen

<?php

//Mysql Verbindung schließen
mysql_close($connection);

//Copyright
echo "Copyright 2003, Daniel Richter aka codemonkey";

?>
Das muss aber alles richtig sein, weil ich schon eine Seite gecodet habe, inder man den Gästebuch eintrag schreibt. Und der Eintrag wird richtig in die Datenbank übertragen. Ich habs mit phpMyAdmin überprüft. Der ist da.
Da ist nur irgendwie ein Fehler in der index.php - ich weiß nur nicht welcher :cry:

Verfasst: 16.03.2003 13:05
von codemonkey
ohh mist. Jetzt habe ich meinen Fehler gefunden!
Ich habe mit

Code: Alles auswählen

mysql_select_db
den Namen der Tabelle angewählt und nicht den Namen der DB. :x :-? :) :D

Verfasst: 16.03.2003 20:07
von Pyramide
codemonkey hat geschrieben:Gibt es überhaupt 'mysql_errono()'??
FippTehler...Ich meine natürlich mysql_errno()

Verfasst: 22.03.2003 19:25
von codemonkey
Ich habe nochmal einen SQL Fehler. Möchte nur eine Tabelle erstellen und schon mache ich Fehler. Oh mann

Code: Alles auswählen

CREATE  TABLE DW_teaser "(
 titel TINYTEXT;
 teaser TEXT;
)"
Was ist daran falsch? :cry:

Verfasst: 22.03.2003 19:36
von SuxxeS

Code: Alles auswählen

CREATE  TABLE DW_teaser "(
 titel TINYTEXT,
 teaser TEXT
)";
So vielleicht?