"Warning: mysql_fetch_array(): .." auf dem Server, aber nich im local host.

jq7

Grünschnabel
HALLO.

Ich bin neu hier.
Ein arab./engl. sprechender PHP Programmierer hat ein Problem, ich uebersetze fuer ihn.

(Unsere Fehlermeldung habe ich schon oefter hier im Forum gesehen, jedoch beantwortet es nicht unsere Fragen, deswegen poste ich es nun doch)

Vorgestern wurde der Server (auf dem wir die Datenbank haben) vom Server-Administrator "umgeschiftet" - nun haben wir ein Problem in der Webseite.

Wenn wir die "Companies" Web-Seiten aufrufen, kommt folgende Fehlermeldung.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/rak24com/public_html/arabic/topics/business/a_b_companies.php on line 15

Wir testeten die Datenbank im local host dort funktioniert alles reibungslos.
Nur nicht auf dem Server.

Hier ist das scipt:

$s=mysql_query("Select * from b_companies where id=$id");

while($data=mysql_fetch_array($s)){
$c=mysql_query("Select * from b_categories where id=$data[1]");
while($cat_name=mysql_fetch_array($c)){
?>

KANN UNS JEMAND HELFEN ?
Waere super.

Jetzt im Moment formatiert der Server Administrator den Server neu.
:suspekt:
(meines Erachtens wird es nicht die Loesung sein, ich vermute, es ist doch ein php Programmierfehler - der "aktiv" wird unter der neuen Serverkonfiguration)

Aber merkwuerdig ist, im local host funktioniert alles tadellos.

Viele Gruesse,
Jasmin.
 
Hi,
Ändere mal
PHP:
$s=mysql_query("Select * from b_companies where id=$id");
in
PHP:
$s=mysql_query("Select * from b_companies where id=$id") or die(mysql_error());
was kommt da dann?

mb fanste
 
Hallo,
vielen Dank fuer die Antwort.

Folgende INFO Meldung kommt NUN:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


:(
HMMMMMMMMMMMMMMM

(der code kam mir schon komisch vor)

GRUSS,
jasmin
 
versuch es mal damit
PHP:
$s=mysql_query("Select * from b_companies where id='$id'") or die(mysql_error());

oder
PHP:
$s=mysql_query("Select * from b_companies where id='$_GET[id]'") or die(mysql_error());
Bei mir war das gleiche prob. ich mußte alles auf $_GET[] umändern..
Grüße
 
HALLO..

WOW WOW WOW WOW WOW WOW

ES KLAPPT !
ES KLAPPT !

mit

PHP:
$s=mysql_query("Select * from b_companies where id='$_GET[id]'") or die(mysql_error());


Das war es. :::::'$_GET[id]::::::::

ABER warum ?
Was ist da passiert, bzw. anders ? nach dem Server "change"

Vielen Dank erstmal...

Gruss,
Jasmin...
 
Zuletzt bearbeitet:
ABER warum ?
Was ist da passiert, bzw. anders ? nach dem Server "change"

Das würd ich auch gern wissen :)
Hab gestern vom localem auf server drauf gehauen und das ganze script lief net mehr.
:(
Naja wenns jetzt klapt ;)
viel glück.
Cia
 
n Abend,

Also erstens. Wenn schon so
PHP:
$s=mysql_query("Select * from b_companies where id='$_GET[id]'") or die(mysql_error());
Dann doch bitte

PHP:
$s=mysql_query("Select * from b_companies where id='".mysql_real_escape_string($_GET['id'])."'") or die(mysql_error());


Zu der Frage "Was ist passiert":
Bei euren Servern ist die PHP Option register_globals auf Off gestellt. Dass heißt, dass alle Variablen, die z.b. via GET kommen nur über $_GET[] oder $_REQUEST[] angesprochen werden können, nicht aber via $VARIABLENNAME.

War das verständlich?
 
Hey Fanste Danke für dein Antwort..

wenn ich jetzt Register_globals auf ON stelle muß ich dan $_GET[] wieder umändern auf $blabla..
Oder nimmt er dan beides an

Grüße
 
Er nimmt beides. Aber lass es lieber auf off. Dann kannst du sicher sein, dass deine Scripte später überall funktionieren.
 
danke ;) Ich habs Grad getestet wirklich...
Habs aber wieder off gemacht.
Damit ich weiterhin meine scripte mit get machen kann.
Thx.Grüße
 
Zurück