Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
klassen, leere seite [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
klassen, leere seite


 
swissboarder
08-09-2005, 22:13 
 
hallo zusammen

nach einiger zeit abstinenz versuche ich mich mit meinem alten quelltext auseinanderzusetzen. ich habe damals für die db verbindung und funktionen eigene klassen gemacht. nun wollte ich diese recyclen, bringe es aber nicht mehr hin. hat mir einer einen tipp? windowsxp, mit xampp, php 4.4

file db.php

<?php
// this class is used for all db interacting with the main backend database
class db extends db_functions
{
// this variable stores the actual result set from the last run query
var $result;
// this result_set is used internally by the class. please don't use it.
var $result_internal;
// this variable holds the valid connection link to the database server
var $db_connect;
// this variable holds the count of rows in the actual result set
var $rows;
var $row;
var $data;
var $links;
var $insert_id;

function db($dbname=0,$dbuser=0,$dbpass=0,$dbhost=0)
{
global $config;

$dbname = $config["db"]["name"];
$dbuser = $config["db"]["username"];
$dbpass = $config["db"]["password"];
$dbhost = $config["db"]["hostname"];

$link = mysql_connect($dbhost,$dbuser,$dbpass);
if($link == false)
{
die(trigger_error("Couldn't connect to database.", FATAL));
}
else
{
$this->db_connect = $link;
$actual_db = mysql_select_db($dbname,$this->db_connect);
if($actual_db == false)
{
die("FATAL ERROR: can't select backend-database.");
}
}
}
}
?>


file db_funtions.php

<?php
// db class
class db_functions
{
// main db functions for inserting, updating, deleting

function delete($table,$where)
{
$sql = "DELETE FROM $table WHERE $where";
$result = @mysql_query($sql,$this->db_connect);
}

function input($select,$table,$where)
{
$sql = "INSERT INTO $table ($select) VALUES ($where)";
$result = @mysql_query($sql,$this->db_connect);
if(mysql_affected_rows($this->db_connect) > 0)
{
$this->insert_id = mysql_insert_id($this->db_connect);
}
else
{
$this->insert_id = 0;
}
}

function update($select,$table,$where)
{
$sql = "UPDATE $table SET $select WHERE $where";
$result = @mysql_query($sql,$this->db_connect);
}

function select($select,$table,$where)
{
$this->rows=0;
$sql = "SELECT $select FROM $table WHERE $where";
$this->result = @mysql_query($sql,$this->db_connect);
$this->rows=@mysql_num_rows($this->result);
}

function select_internal($select,$table,$where)
{
$sql = "SELECT $select FROM $table WHERE $where";
$this->result_internal = @mysql_query($sql,$this->db_connect);
}

function reset()
{
@mysql_data_seek($this->result,0);
}

function raw_query($data)
{
$this->rows=0;
$this->result = mysql_query($data,$this->db_connect);
$this->rows=@mysql_num_rows($this->result);
return $this->result;
}

}
?>

und so in der index.php

<?php
// include config file
include("config/config.inc.php");

// include classes
include("classes/php/db.php");
include("classes/php/db_functions.php");
$sys_db = new db;

?>

so erhalte ich eine leere seite, ohne jedwelche fehlermeldung. wenn ich $sys_db = new db; auskommentiere, kommt die seite ohne errors, etc. jemand eine idee? danke jetzt schon recht herzlich und übersende einen gruss

swissboarder

 
ghostgambler
08-09-2005, 22:31 
 
was soll schon groß passieren, du kreierst nur ein Objekt Oo

btw. Code umbrechen!

 
swissboarder
08-09-2005, 22:36 
 
hallo back

first: sorry wegen code, werds mir merken und habs angepasst, hoffe ist nun io. das nur ein objekt erstellt wird ist schon ok. aber rundherum in der index.php hab ich noch anderne quelltext (html), dieser wird auch nicht mehr ausgegeben. kommt nur noch leere seite, sobald das objekt erstellt wird??? komm hinten und vorne nicht mehr draus :(

so long / swissborder

 
ghostgambler
09-09-2005, 06:51 
 
hangel dich anhand von die('hier') in dem Klassencode durch, bis du die Stelle gefunden hast die Probleme macht

 
hhcm
09-09-2005, 08:02 
 
Original geschrieben von swissboarder
so erhalte ich eine leere seite, ohne jedwelche fehlermeldung. wenn ich $sys_db = new db; auskommentiere, kommt die seite ohne errors, etc. jemand eine idee?


Ich versteh den Satz nicht.
Es kommt eine leere seite ohne fehler und wenn du´s auskommentierst kommt kein fehler?
Is das noch zu früh für mich? :confused:

Außerdem sieht mir das irgendwie falsch herum aus...

In Class DB (Extend) stellst du eine Verbindung her und in der Mainclass verwendest du diese?

class db_functions extends db

wohl eher...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:00 Uhr.