Ergebnis 1 bis 4 von 4

Thema: Fehler durch mysql_num_rows

  1. #1
    Youngster
    Registriert seit
    19.10.2005
    Beiträge
    14
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Fehler durch mysql_num_rows

    Hallo,

    ich habe mal wieder ein Problem bei PHP. Und zwar wollte ich die Session-IDs nicht als Dateien auf dem Server ablegen lassen, sondern diese in der DB gespeichert haben. Ich habs dann so gemacht, wie es in einem Buch beschrieben ist (nagut fast, aber das sind Änderungen, worans eigentlich nicht liegen dürfte).

    Und zwar meckert er z.B. mysql_num_rows und so an (Rückgabe der Seite seht ihr hier).

    Die Quelltexte dazu:

    db_function.inc.php
    Code:
    <?php
    	function Connect&#40;&#41;&#123;
    		global $mysqlcon;
    		$connect = 0;
    		if &#40;file_exists&#40;"./config.inc.php"&#41;&#41; include&#40;"./config.inc.php"&#41;;
    			elseif &#40;file_exists&#40;"./../config.inc.php"&#41;&#41; include&#40;"./../config.inc.php"&#41;;
    		if &#40;$mysqlcon = @mysql_connect&#40;$sqlhost,$sqluser,$sqlpassword&#41;&#41;&#123;		
    	  		if &#40;$db = @mysql_select_db&#40;$sqldb,$mysqlcon&#41;&#41;&#123;
    		  		$connect = 2;
    	  		&#125;	  	
      		&#125;
      		return $connect;
    	&#125;
    	
    	function DisConnect&#40;&#41;&#123;
    		global $mysqlcon;
    		@mysql_close&#40;$mysqlcon&#41;;
    	&#125;
    	
    	function AddUser&#40;$user,$pw,$mail,$rights&#41;&#123;		
    		global $mysqlcon;
    		mysql_query&#40;"INSERT INTO cp_user &#40;user, password, email, rights&#41; VALUES &#40;'".$user."','".$pw."','".$mail."','".$rights."'&#41;", $mysqlcon&#41;;
    	&#125;
    
    ?>
    index.php
    Code:
    <?php
    	error_reporting&#40;E_ALL&#41;;
    
    	require&#40;"./db_function.inc.php"&#41;;
    	
    	function ms_open&#40;$sesspath, $sessname&#41;&#123;
    		global $mysqlcon;
    		$time = time&#40;&#41;;
    		$sid = session_id&#40;&#41;;
    		if &#40;isset&#40;$_POST&#91;"user"&#93;&#41; && isset&#40;$_POST&#91;"pw"&#93;&#41;&#41;&#123;
    			$user = $_POST&#91;"user"&#93;;
    			$pw = $_POST&#91;"pw"&#93;;
    			$RS = mysql_query&#40;"SELECT * FROM cp_data WHERE user = '$user' &&  password  = '$pw'", $mysqlcon&#41;;
    			if &#40;mysql_num_rows&#40;$RS&#41; == 0&#41;&#123;
    				$RS = mysql_query&#40;"UPDATE cp_data SET &#40;date = '$time', sid = '$sid'&#41; WHERE user = '$user' &&  password  = '$pw'", $mysqlcon&#41;;			
    			&#125;	
    		&#125;else&#123;
    			$maxtime = $time - 15*60;
    			$RS = mysql_query&#40;"SELECT * FROM cp_data WHERE sid = '$sid' &&  date > '$maxtime'", $mysqlcon&#41;;	
    			if &#40;mysql_num_rows&#40;$RS&#41; == 0&#41;&#123;
    				$RS = mysql_query&#40;"UPDATE cp_data SET date = '$time' WHERE sid = '$sid'", $mysqlcon&#41;;
    			&#125;
    		&#125;
    	&#125;
    	
    	function ms_read&#40;$sid&#41;&#123;
    		global $mysqlcon;
    		$RS = mysql_query&#40;"SELECT * FROM cp_data WHERE sid = '$sid'", $mysqlcon&#41;;
    		$arrRS = mysql_fetch_assoc&#40;$RS&#41;;
    		if &#40;is_array&#40;$arrRS&#41;&#41;&#123;
    			session_decode&#40;$arrRS&#91;"variables"&#93;&#41;;
    		&#125;
    	&#125;
    	
    	function ms_write&#40;$sid, $varis&#41;&#123;
    		global $mysqlcon;
    		$RS = mysql_query&#40;"UPDATE cp_data SET variables = '$varis' WHERE sid = '$sid'", $mysqlcon&#41;;
    	&#125;
    	
    	function ms_destroy&#40;$sid&#41;&#123;
    		global $mysqlcon;
    		$RS = mysql_query&#40;"UPDATE cp_data SET date = '0' WHERE sid = '$sid'", $mysqlcon&#41;;
    	&#125;
    	
    	function ms_gc&#40;$sesslt&#41;&#123;
    	&#125;
    	
    	function ms_close&#40;&#41;&#123;
    	&#125;
    	
    	
    	if &#40;Connect&#40;&#41;==2&#41;&#123;
    		if &#40;file_exists&#40;"./install/"&#41;&#41;&#123;
    			$error = "<h3>Installationsdateien gefunden!</h3>
    \n".
    			     "\t\t\tAuf dem Webserver wurden die Installationsdateien noch gefunden.
    \n".
    			     "\t\t\tBitte löschen Sie den Ordner 'install'.\n";
    			include&#40;"./error.php"&#41;;     
    		&#125;else&#123;
    			session_module_name&#40;"user"&#41;;
    			session_set_save_handler&#40;'ms_open', 'ms_close',
    									 'ms_read', 'ms_write',
    									 'ms_destroy', 'ms_gc'&#41;;
    			session_name&#40;'SESSION'&#41;;
    			session_start&#40;&#41;;
    			echo&#40;session_id&#40;&#41;&#41;;
    			include&#40;"./lib/login.php"&#41;;				
    		&#125;
    		DisConnect&#40;&#41;;
    	&#125;
    	else&#123;
    		$error = "<h3>Verbindung fehlgeschlagen!</h3>
    \n".
    			     "\t\t\tDie Verbindung zur ChemPro-Datenbank ist fehlgeschlagen.
    \n".
    			     "\t\t\tBitte informieren Sie den Admin der Datenbank über das Problem.\n";
    		include&#40;"./error.php"&#41;;
    	&#125;
    ?>
    Sieht einer von euch den Fehler?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    mach mal vor dem mysql_num_rows()

    echomysql_error()

    schon sagt er dir wo der fehler liegt...

  3. #3
    Youngster
    Themenstarter

    Registriert seit
    19.10.2005
    Beiträge
    14
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Mhm, da meldet er mir "Unknown column 'sid' in 'where clause'".

    Wobei die Tabelle so aufgebaut ist:

    Code:
    CREATE TABLE cp_user &#40;
    	id int NOT NULL AUTO_INCREMENT,
    	user varchar&#40;20&#41; NOT NULL,
    	password varchar&#40;20&#41; NOT NULL,
    	email varchar&#40;100&#41; NOT NULL,
        rights int NOT NULL  default 0,
        sid int NOT NULL  default 0,
        date int NOT NULL default 0,
    	PRIMARY KEY &#40;id&#41;
    &#41;;

  4. #4
    Youngster
    Themenstarter

    Registriert seit
    19.10.2005
    Beiträge
    14
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich hab den Fehler jetzt gefunden *g*. Ich wollte es in die Tabele cp_user einfügen, habe aber cp_data geschrieben .

    Was mich jetzt nur noch interessieren würde, ist warum er fiolgendes sagt:
    Warning: mysql_query(): 5 is not a valid MySQL-Link resource in /usr/export/www/vhosts/funnetwork/hosting/killprocess/ChemPro/index.php on line 37
    bei
    Code:
    	function ms_write&#40;$sid, $varis&#41;&#123;
    		global $mysqlcon;
    		$RS = mysql_query&#40;"UPDATE cp_user SET variables = '$varis' WHERE sid = '$sid'", $mysqlcon&#41;;
    	&#125;

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 26.04.2008, 13:45
  2. "Weiter" nur durch Button nicht durch "Enter&
    Von OJMD im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 27.02.2007, 17:16
  3. Fehler in FF und Fehler beim zentrieren
    Von smello im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 16.03.2006, 15:22
  4. mysql_num_rows Problem
    Von ::RMB:: im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 14.03.2006, 18:25
  5. Per Anhalter durch die Galaxis
    Von 6_freddy im Forum Link Tipps
    Antworten: 2
    Letzter Beitrag: 29.03.2005, 13:05

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •