nach "Datetime" auslesen - Sql Where Abfrage

Die komplette Datei:


PHP:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Datenbankverbindung herstellen
include ('../../includes/configure.php');

$mysqlhost = DB_SERVER;
$mysqluser = DB_SERVER_USERNAME;
$mysqlpassword = DB_SERVER_PASSWORD;
$mysqldb = DB_DATABASE;

$mysql = mysql_connect($mysqlhost, $mysqluser, $mysqlpassword); 
$selectdb = mysql_select_db($mysqldb);

if(!$mysql) {
echo("Keine Verbindung zum MySQL-Server m&ouml;glich<br/ >".mysql_error());
}
if(!$mysqldb) {
echo("Konnte Datenbank nicht Ausw&auml;hlen<br />".mysql_error());
}


$aktuelles_jahr = date("y");
$aktuelles_monat = date("m");
$timestamp = strtotime("-1 months");
$letzter_monat = date("y-m", $timestamp);



//Header
include("kundenliste_head.html");



// Liest die Kunden aus, die in der Tabelle orders nicht vorkommen
$sql="SELECT k.customers_id, k.customers_firstname, k.customers_lastname, k.customers_gender, k.customers_email_address, k.customers_date_added, i.customers_info_date_of_last_logon FROM customers_info AS i, customers AS k LEFT JOIN orders AS b ON k.customers_id = b.customers_id WHERE customers_info_date_of_last_logon < DATE_SUB(NOW() , INTERVAL 7 DAY) AND b.customers_id IS NULL  ORDER BY customers_info_date_of_last_logon ASC";
$res = mysql_db_query($mysqldb, $sql, $mysql) or die("Error:\r Query: ".$sql."\r\r Error-Message: "   mysql_error());  
while ($row = mysql_fetch_assoc($res)) {
    
    $customers_id = $row['customers_id']; 
    $customers_firstname = $row['customers_firstname'];
    $customers_lastname = $row['customers_lastname'];
    $customers_gender = $row['customers_gender'];
    $customers_email_address = $row['customers_email_address'];
    $customers_date_added = $row['customers_date_added'];
    
    //Pr&uuml;ft das Geschlecht
    if($customers_gender == "m")
    {
      $customers_gender = "Herr";
    }
    elseif($customers_gender == "f")
    {
      $customers_gender = "Frau";
    }
    
    //Schaut, ob Sachen im Warenkorb sind
    $anzahl_sql = mysql_db_query($mysqldb, "SELECT * FROM customers_basket WHERE customers_id = '$customers_id'"); 
   $anzahl = mysql_num_rows($anzahl_sql);
   
   if($anzahl != '0')
   { $wako = "JA"; }
   else { $wako = "Nein"; }
   
   
   
   
    
    include("kundenliste.html");
    
    }

//Footer
include("liste_bearbeitet_foot.html");
    
    
mysql_close($mysql);

?>
 
Danke für die Info, wusste ich nicht und hab es jetzt geändert - aber nach wie vor keine Reaktion. Es müsste eigentlich an der SQL Abfrage liegen - mit einer anderen Abfrage funktioniert es nämlich tadellos.

Hier die Abfrage, die funktioniert - als Vergleich:

PHP:
$sql="SELECT
k.customers_id,
k.customers_firstname,
k.customers_lastname,
k.customers_gender,
k.customers_email_address,
k.customers_date_added
FROM
customers AS k LEFT JOIN orders AS b ON k.customers_id = b.customers_id
WHERE
k.customers_date_added LIKE '2011-12-%'
AND
b.customers_id IS NULL
ORDER BY customers_date_added DESC";
 
Tausch mal bitte diese Zeile aus:

PHP:
$res = mysql_db_query($mysqldb, $sql, $mysql) or die("Error:\r Query: ".$sql."\r\r Error-Message: "   mysql_error());

durch das hier:

PHP:
$res = mysql_query($sql, $mysql) or die("Error: Query: ".$sql."<br/>Error-Message: "  . mysql_error($mysql));
 
Dann kommt wieder diese Meldung:

Code:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
 
Dann kommt wieder diese Meldung:

Code:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Nutze doch auch die Hinweise in der Fehlermeldung:
More information about this error may be available in the server error log

Eventuell geben die Logs ja mehr Einsicht zu dem Fehler.

Gruß
 
Da ich die SQL-Datenstruktur nicht kenne, kann ich das schlecht nachtesten.

Wir haben jetzt mehrere Möglichkeiten:

1. Du besorgst die Informationen aus dem Webserver-Log (error.log).
2. Du besorgst dir eine Test-Umgebung für deinen lokalen Rechner (z.B. XAMPP) und versuchst den Fehler dort nachzustellen.
3. Du fragst deinen Provider, ob er dir die Fehlermeldung aus dem error.log geben kann

Was du noch nebenbei machen kannst:

Setze hinter die zweite mysql_query()-Funktion noch das "or die(...."
 
Was mir noch aufgefallen ist:
PHP:
$res = mysql_db_query($mysqldb, $sql, $mysql) or die("Error:\r Query: ".$sql."\r\r Error-Message: "   mysql_error());
Hier fehlt der Verkettungsoperator zwischen Error-Message: " . mysql_error());
 
Anbei zum Thema mysql_db_query()
Hinweis: Diese Funktion ist seit PHP 4.0.6 veraltet. Verwenden Sie diese Funktion nicht. Stattdessen sollten Sie die Funktionen mysql_select_db() und mysql_query() verwenden

Also, versuchs mal mit mysql_query()
 
Zurück