Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
09.08.10, 16:28
|
#1
|
Zu dumm um wahr zu sein
Registriert seit: Apr 2010
Beiträge: 123
Bedankt: 125
|
Php - mysql
So Leute, bin ich besoffen, oder wieso funktioniert mein Code nicht -.-
der mist ging doch sonst auch immer (oder bin ich schon so eingerostet, das ich das nimma weiß?^^)
hier mal der code:
PHP-Code:
<?php
function db_connect() {
include("config.php");
$verbindung = mysql_connect($mysql_host,$mysql_user,$mysql_pass);
if(!$verbindung)die("Keine Verbindung zur Datnbank!");
}
function db_close() {
mysql_close($verbindung);
}
function access_log_list() {
db_connect();
$abfrage="select * from access_log";
$access_list=mysql_db_query($mysql_db, $abfrage, $verbindung);
echo "<table width='100%'>
<tr>
<td>
<b>Kundennr.</b>
</td>
<td>
<b>IP-Adresse</b>
</td>
<td>
<b>Datum</b>
</td>
</tr>";
while(list($kundennummer,$ip,$zeit)=mysql_fetch_array($access_list))
{
echo "
<tr>
<td>
$kundennummer
</td>
<td>
$ip
</td>
<td>
$zeit
</td>
</tr>";
}
echo "</table>";
}
?>
wenn ich die funktion access_log_list aufrufe, dann bekomme ich folgende fehler:
Zitat:
Warning: mysql_db_query() expects parameter 3 to be resource, null given in [pfad mal rausgenommen]funktionen.php on line 16
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in [pfad mal rausgenommen]funktionen.php on line 29
|
aber eigendlich ist doch alles da, was das s***** braucht (oder habe ich meine test-umgebung verkackt?^^)
|
|
|
09.08.10, 16:51
|
#2
|
Anfänger
Registriert seit: Jul 2010
Beiträge: 5
Bedankt: 32
|
$mysql_db, $abfrage, $verbindung scheinen lokale funktionsvariablen zu sein
__________________
Steigerung des Luxus:
eigenes Auto,
eigene Villa,
eigene Meinung.
|
|
|
09.08.10, 19:06
|
#3
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
na insbesondere ist $verbindung jeweils eine lokale variable:
variante 1: (unschön)
PHP-Code:
function db_connect() { global $verbindung, $mysql_db; include("config.php"); $verbindung = mysql_connect($mysql_host,$mysql_user,$mysql_pass); if(!$verbindung)die("Keine Verbindung zur Datnbank!");
}
function db_close() { global $verbindung; mysql_close($verbindung); }
function access_log_list() { global $verbindung, $mysql_db; db_connect(); $abfrage="select * from access_log"; $access_list=mysql_db_query($mysql_db, $abfrage, $verbindung); ... }
variante 2 (besser)
PHP-Code:
<?php class DataBase {
protected $verbindung; protected $mysql_db; function __construct() { $this->db_connect(); } function __destruct() { $this->db_close(); } function db_connect() { if ($this->verbindung) return; // verbindung besteht bereits include("config.php"); $this->verbindung = mysql_connect($mysql_host,$mysql_user,$mysql_pass); if(!$this->verbindung)die("Keine Verbindung zur Datnbank!"); $this->mysql_db = $mysql_db; // funzt aber nur wenn $mysql_db in config.php definiert wird!
}
function db_close() { if ($this->verbindung) { mysql_close($this->verbindung); $this->verbindung = null; } }
function access_log_list() { $abfrage="select * from access_log"; $access_list=mysql_db_query($this->mysql_db, $abfrage, $this->verbindung); // ... } } // class DataBase
$db = new DataBase(); $db->access_log_list();
variante 3, am besten:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
entropie erfordert keine wartung
|
|
|
09.08.10, 20:06
|
#4
|
Zu dumm um wahr zu sein
Registriert seit: Apr 2010
Beiträge: 123
Bedankt: 125
|
dankeschön
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:05 Uhr.
().
|