Unerklärliches Problem

  • Themenstarter Themenstarter broke
  • Beginndatum Beginndatum
B

broke

hi!
ich habe auf meinem pc einen php server mit mysql db aufgesetzt, um die scripte ohne raufladen testen zu können.
nun, da bei meinem script alles funktioniert, hab ich es auf meinen webserver geladen. dann habe ich ein dump von meiner offline-mysql db gemacht, und mit dem dump die nötigen tabellen in meiner online-mysql db erstellt.
dann wollt ich natürlich gleich testen, ob alles nach plan läuft, aber siehe da, es lächelt mir eine fehlermeldung entgegen:

PHP:
Warning: 
Supplied argument is not 
a valid MySQL result resource in /home/Broke/www.broke.at/wars/news.php on line 17

dann habe ich die selbe datei auf meinem offline-server nochmal probiert, da funktioniert aber alles reibungslos.
dann wollte ich probieren, news zu posten, wenn ich das ausgefüllte newpost-formular abgeschickt habe und dann mit phpmyadmin schaue, ob es in der tabelle gespeichert wurde, is nichts da. das news posten funktioniert auf meinem offline-server aber ebenfalls reibungslos.

was könnte das sein? ich habe außer der mysql-connect datei wirklich NICHTS verändert, aber es funktioniert auf meinem i-net server nicht.
helft mir bitte leute!
 
lass Dir mal den Datenbankfehler ausgeben:

echo mysql_error();

dann hast Du einen besseren Durchblick

Cu Major
 
Original geschrieben von Major
lass Dir mal den Datenbankfehler ausgeben:

echo mysql_error();

dann hast Du einen besseren Durchblick

Cu Major
danke jetzt weiß ich schon mal wo das problem leigt!
also mysql meldet mir folgendes:

"Table 'broke.news' doesn't exist"

aber bei phpmyadmin steht sie doch da ich kann euch nen screenshot geben, ich versteh echt gar nichts mehr!
weiß sonst noch wer rat?
 
hast du schon mal die Versionen der beiden Datenbanken verglichen ?

Gruss Baumi
 
ja, ich habe aber nicht gewusst, dass das ein problem ist!
also die mysql version auf meinem pc ist MySQL 3.23.41-nt und phpmyadmin 2.1.0, die auf dem webserver is MySQL 3.23.37-log und phpmyadmin 2.2.1-rc1.

könnte das das problem sein? wenn ja, wie kann ich das beheben?
 
poste mal ein wenig mehr Code:

wie sieht die SQL-Query aus, wie sieht die Datenbanktabelle aus usw.

Cu Major
 
hm den fehler hat ich auch des öfteren allerdings war es ne andere ursache bzw. wüßt ich nicht dases an einer fehlenden tabelle lag. ich hab allerdings rausgefunden an was es lag vielleicht ises bei dir auch so und zwar ging bei mir:
PHP:
while($row=mysql_fetch_row($result, MYSQL_ASSOC))

nicht bzw nur lokal online mußte ich es so schreiben:

PHP:
while($row=mysql_fetch_array($result, MYSQL_ASSOC))

vielleicht lags ja daran :) aber die fehlermeldung war die selbe
 
Original geschrieben von SchwarzerWolf
hm den fehler hat ich auch des öfteren allerdings war es ne andere ursache bzw. wüßt ich nicht dases an einer fehlenden tabelle lag. ich hab allerdings rausgefunden an was es lag vielleicht ises bei dir auch so und zwar ging bei mir:
PHP:
while($row=mysql_fetch_row($result, MYSQL_ASSOC))


nicht bzw nur lokal online mußte ich es so schreiben:

PHP:
while($row=mysql_fetch_array($result, MYSQL_ASSOC))


vielleicht lags ja daran :) aber die fehlermeldung war die selbe
hab es probiert, war aber leider auch nicht das richtige. trotzdem danke!

wegen mehr quellcode:
das is der query:
PHP:
$conn=mysql_query("SELECT * FROM news ORDER BY nid DESC"); //Werte aus der Tabelle news auslesen und nach newsid sortieren
 
kannst Du nicht noch ein wenig mehr posten, den Konnekt die Datenbankauswahl usw.???

Die Datenbank existiert schon? der Konnekt klappt?

Meist liegt es daran, das man die lokalen Werte für den Connect vergisst auszutauschen.

Cu Major
 
Original geschrieben von Major
kannst Du nicht noch ein wenig mehr posten, den Konnekt die Datenbankauswahl usw.???

Die Datenbank existiert schon? der Konnekt klappt?

Meist liegt es daran, das man die lokalen Werte für den Connect vergisst auszutauschen.

Cu Major
nein, der connect funktionier einwandfrei, da sonst, wie der quelltext unten zeigt, eine error message ausgegeben wird. die datenbank existiert auch, da ja andere scripte auf ihr auch funktionieren.
das wäre dann die connect.inc.php, der hostname des mysql servers ist localhost, ich habe extra beim hoster deswegen nachgefragt.
PHP:
<?php
//mySQL Variablen
$hostname       ="localhost";  //Hostname oder IP des MySQL Servers
$username       ="Broke";       //Username
$password       ="***";      //Passwort
$db_name        ="broke";   //Name der Datenbank
$mysql_error_msg="could not connect to mySQL server!"; //Fehlermeldung, falls Verbindung fehlgeschlagen ist

//Verbindung zum mySQL server aufbauen
$connect=@mysql_connect($hostname, $username, $password)
         or die($mysql_error_msg);

//Verbindung zur Datenbank aufnehmen
@mysql_select_db($db_name, $connect)
         or die($mysql_error_msg);
?>

ich habe die datenabfrage auch mit phpmyadmin gemacht, und dort kam keine fehlermeldung, also muss die "kommunikation" zwischen webserver und mysql server nicht stimmen.
 
Zurück