Mysql-Abfrage + Aktivitätszeitermittlung klappt nicht -> keine Fehlermeldung :-(

Hey,

irgendwas klappt bei meinem Code ned.... kann sich das jemand mal kurz anschauen****?

Fehlermeldungen gibt's keine und irgendwas müsste ja angezeigt werden :-(

PHP:
<?php
session_start();
?> 

<?php
$datenbank_username = "root";
$datenbank_passwort = "";
$datenbank_name = "homepage";		
$tabellenname = "userdaten";		
$db = @mysql_connect(localhost, $datenbank_username, $datenbank_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); 

mysql_select_db("homepage")or die ("Die Datenbank existiert nicht.");

//Userdaten aus Sessions laden
$e_mail_session = $_SESSION["E_mail"];
//Freundesliste laden
$freunde_herausfinden = mysql_query("SELECT Freunde FROM userdaten WHERE `E_mail` = \"$e_mail_session\"")OR die(mysql_error());
//Letzter Seitenaufruf vom aktuell ausgewähltest Mitglied laden
$aktives_mitgliede_auslesen = mysql_query("SELECT LetzterSeitenaufruf FROM userdaten where 'ID' = \"$pieces[$aktuelle_id]\"")OR die(mysql_error()); 
//Bei Bedarf Profilbild laden
$Profilbild_anzeigen = mysql_query("SELECT Profilbild FROM userdaten WHERE `E_mail` = \"$pieces[$aktuelle_id]\"")OR die(mysql_error());
//Aktuelle ID, die bearbeitet wird
$aktuelle_id ="0";
//Geladene Freundesliste bearbeiten
$row = mysql_fetch_object($freunde_herausfinden);
$maximale_freundesanzahl = substr_count($row->Freunde,','); 
$pieces = explode(",", $row->Freunde);
//Uhrzeit + Ermittlung der Aktivität
$aktuelle_uhrzeit = time();
$uhrzeit_differenz = $aktuelle_uhrzeit - $aktives_mitgliede_auslesen;

date_default_timezone_set('Europe/Berlin');

while($aktuelle_id > $maximale_freundesanzahl)
{
If ($uhrzeit_differenz < "1296799312")
{echo '<img src="pic/'.$Profilbild_anzeigen.'.jpg" alt="">';
$aktuelle_id++;}
Else
{echo "Test";}

}

// Fehler anzeigen :-)
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo mysql_error()


?>
 
Also ich habe mal bis zum ersten Fehler gelesen:

$db = @mysql_connect(localhost, $datenbank_username, $datenbank_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");

"localhost" muss in Anführungszeichen stehen. Ein Fehler wird nicht ausgegeben weil du ihn mit "@" unterdrückst!

Was ich mich auch frage wozu du die ganzen Variablen definiert hast wenn du die Werte dann doch teilweise direkt schreibst.
 
Danke, habs mal editiert. Leider geht es trotzdem noch nicht.


(PS: Es heißt nicht "localhost" sondern 'localhost' -> Hab extra nachgeschaut...)

PHP:
<?php
session_start();
?> 
<?php	
$db = mysql_connect('localhost', 'root', '') or die ("Konnte keine Verbindung zur Datenbank herstellen"); 

mysql_select_db("homepage")or die ("Die Datenbank existiert nicht.");

//Userdaten aus Sessions laden
$e_mail_session = $_SESSION["E_mail"];
//Freundesliste laden
$freunde_herausfinden = mysql_query("SELECT Freunde FROM userdaten WHERE `E_mail` = \"$e_mail_session\"")OR die(mysql_error());
//Letzter Seitenaufruf vom aktuell ausgewähltest Mitglied laden
$aktives_mitgliede_auslesen = mysql_query("SELECT LetzterSeitenaufruf FROM userdaten where 'ID' = \"$pieces[$aktuelle_id]\"")OR die(mysql_error()); 
//Bei Bedarf Profilbild laden
$Profilbild_anzeigen = mysql_query("SELECT Profilbild FROM userdaten WHERE `E_mail` = \"$pieces[$aktuelle_id]\"")OR die(mysql_error());
//Aktuelle ID, die bearbeitet wird
$aktuelle_id ="0";
//Geladene Freundesliste bearbeiten
$row = mysql_fetch_object($freunde_herausfinden);
$maximale_freundesanzahl = substr_count($row->Freunde,','); 
$pieces = explode(",", $row->Freunde);
//Uhrzeit + Ermittlung der Aktivität
$aktuelle_uhrzeit = time();
$uhrzeit_differenz = $aktuelle_uhrzeit - $aktives_mitgliede_auslesen;

date_default_timezone_set('Europe/Berlin');

while($aktuelle_id > $maximale_freundesanzahl)
{
If ($uhrzeit_differenz < "1296799312")
{echo '<img src="pic/'.$Profilbild_anzeigen.'.jpg" alt="">';
$aktuelle_id++;}
Else
{echo "Test";}

}

// Fehler anzeigen :-)
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo mysql_error()


?>
 
Setz die 2 Zeilen mal an den Anfang und nicht ans Ende
PHP:
ini_set('display_errors', 1);
error_reporting(E_ALL);

Ansonsten gilt. Debugen der SQL-Statements. Du fragst dich wie das geht? -> PHP/MySQL Debug Queries
 
So, nach genauer Fehleranalyse und einigen Buxfixes bin ich schon ganz nah dran.

Folgender Code ist falsch:

PHP:
$aktives_mitgliede_auslesen = mysql_query("SELECT LetzterSeitenaufruf FROM userdaten WHERE 'ID' = '$pieces['$aktuelle_id']'")OR die(mysql_error());

Aber wie kann es machen, dass er eben das $pieces['aktuelle_id'] so ausführt, dass er eben vorher die 'aktuelle_id' ausliest in die $pieces reinbezieht****
 
Warum das Rad neu erfinden? Du hast doch schon die Emailadresse des User in eine Sessionvariable gespeichert. Arbeite doch mit dieser.

PHP:
$aktives_mitgliede_auslesen = mysql_query("SELECT LetzterSeitenaufruf FROM userdaten WHERE `E_mail` = '"$e_mail_session"'")OR die(mysql_error());

Somit müsstes du ebenfalls zu gewünschten Ergebnis kommen
 
Das hab ich ja schon hingebekommen (trotzdem: Danke für deine Hilfe!).

Aber $peaces['aktuelle_id'] ****t ja nicht... was kann ich da machen****

Ich möchte ja eben einen Mysql-Eintrag zerstückeln und einzeln verarbeiten... :-(
 
Zurück