WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   MySQL Fehlermeldung bei neuem Hoster (http://www.wcm.at/forum/showthread.php?t=109025)

row 16.09.2003 15:31

MySQL Fehlermeldung bei neuem Hoster
 
Hi Leute,

nachdem ich meine Seite zu meinem neuen Hoster übersiedelt habe, habe ich neuerdings folgende Fehlermeldung:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/web602/html/survey9.php on line 13

In der betreffenden Datei steht folgender Code:
PHP-Code:

line 11:  $abfrage "SELECT ques7 FROM tels WHERE session='$survey_id'";
line 12:  $ergebnis mysql_query($abfrage);
line 13:  $ausgabe mysql_fetch_object($ergebnis);
line 14:  $eingabe=$ausgabe->ques7

Diese Fehlermeldung hatte ich beim vorherigen Hoster nicht *grübel*
Any ideas?

Alex1 16.09.2003 16:43

Die Datenbank und deren Inhalte hast eh auch übersiedelt?

row 16.09.2003 19:44

Ja, habe ich.
Bzw. habe die selbe Tabelle dort auch angelegt. Die Daten werden durch einen Fragebogen von den Usern selber angelegt. Die Daten werden auch angelegt bzw. bis auf die mit der Fehlermeldung richtig ausgelesen bzw. eingetragen.

Ich benutze diese selbe Abfragestruktur sogar auf anderen Seiten (&auch auf der selben Seite um andere Daten der Session auszulesen), wo sie auch problemlos funktioniert. Ein Rätsel!
Es kommt dann einfach:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/web602/html/survey9.php on line 25

row 16.09.2003 20:15

@Alex1
P.S: Mir ist gerade aufgefallen dass das Problem auf Seiten auftritt wo ich vorher Daten mit der Zeile unten in die Datenbank reingeschrieben habe:

PHP-Code:

$sql "update tels SET ques8 = '$ques8', ques8_info = '$ques8_info' WHERE session = '$survey_id'  ";
$res=send_sql($db,$sql); 

Muss ich da vielleicht irgendwie die Daten freigeben/MySQL-Verbindung beenden oder sowas???

Alex1 16.09.2003 20:48

Hm...vielleicht kann käptn dir helfen? :)

K@sperl 16.09.2003 21:41

Ich kenn den Befehl 'send_sql' nicht, ich hab updates und inserts immer mit 'mysql_query($sql)' gemacht.
Ist der Datensatz nach dem Update auch wirklich upgedatet?

Gib bei deiner SELECT Abfrage mal die Var. $survey_ID aus

käptn 16.09.2003 21:57

@row

Du solltest $survey_id noch in (Double)Quotes "einzäunen".

PHP-Code:

mysql_query('UPDATE ... WHERE session="'.$survey_id.'"'); 

~

row 17.09.2003 08:33

Sorry, dass hab ich vergessen dazu zu sagen, send_sql ist eine Funktion.
PHP-Code:

function send_sql($db$sql) {
   if (! 
$res=mysql_db_query($db$sql)) {
   echo 
mysql_error();
   exit;
   }
   return 
$res;
 } 


row 17.09.2003 13:19

@käptn
Das "Einzäunen" produziert mir eine Fehlermeldung, dass er die Column nicht kennt - ist jetzt wieder so wie vorher.

Also, ich hab jetzt radikal einfach die Dinger rausgenommen, die nicht funktionierten, weil ich muss diesen Fragbogen jetzt bald fertig kriegen! Jetzt fehlt zwar eine gewisse Interaktivität, aber was will man machen.

Ein Problem bleibt mir noch:
Die Leute sollen die Möglichkeit haben mehrmals einen Fragebogen auszufüllen, an die Session_ID wird dann einfach die Zahl eines Counters angehängt (damit man weiss welche Einträge zusammenhängen). Dass geht jetzt bei dem Provider auch nicht (bei Lycos gings).
Die Fehlermeldung ist: Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/www/web602/html/survey_mult.php:11) in /home/www/web602/html/survey_mult.php on line 24

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/web602/html/survey_mult.php:11) in /home/www/web602/html/survey_mult.php on line 2


PHP-Code:

<?php
session_start
();
include(
"funk.php");
include(
"verbind.php");

$survey_id $_SESSION["username"];

//Abfrage wievielte Aktivität/wievielter Durchlauf
$abfrage "SELECT multiaktiv FROM tels WHERE session='$survey_id'";
  
$ergebnis mysql_query($abfrage);
  
$ausgabe mysql_fetch_object($ergebnis);
   
$akt_zaehler=$ausgabe->multiaktiv;
echo 
"
Aktuelle Durchlauf Nummer: $akt_zaehler 
"
;

//Neue sessionID anlegen mit Aktivitäts#
$feld="_a";
$survey_id_neu $survey_id.$feld.$akt_zaehler;

//Alte Session zerstören
session_destroy ();

//Neue Session anlegen auf Basis alter Session
session_start();
$_SESSION["username"] = "$survey_id_neu";
$survey_id $_SESSION["username"];

$sql "insert into tels (session) 
            values ('$survey_id')"
;
$res=send_sql($db,$sql);
?>

Danke für Eure Geduld!

Alex1 17.09.2003 13:38

Du kannst nicht mit Sessions arbeiten, nachdem Du mit "echo" irgendeine Ausgabe an den Browser gesendet hast.


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag