php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.11.2008, 12:34  
Neuer Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 5
Tarcon befindet sich auf einem aufstrebenden Ast
Tarcon eine Nachricht über MSN schicken
Standard mySQL Alias kann nicht ausgegeben werden

Hallo Foris!

Es ist natürlich klasse, wenn ich meinen Einstand gleich mit einer Frage feiere, aber letztlich bin ich wegen dieser Frage über dieses Forum gestolpert und ich gehe mal davon aus, dass ich vielleicht auch das ein oder andere Problem anderer lösen kann und werde sicherlich dabei helfen. Im Augenblick plagt mich aber selbst ein Problem, bei dem ich offensichtlich zu vernagelt bin, um auf die Lösung zu kommen.

Ich führe folgende Datenbankabfrage aus:
PHP-Code:
$besuchsterminabfrage="SELECT DATE_FORMAT(status.festtermin, '%d') AS festday, DATE_FORMAT(status.festtermin, '%m') AS festmonth, DATE_FORMAT(status.festtermin, '%y') AS festyear, DATE_FORMAT(status.festtermin, '%H') AS festhour, DATE_FORMAT(status.festtermin, '%i') AS festmin FROM status WHERE status.refobj=".$customerid_value." AND DATE(NOW())<=DATE(status.festtermin) LIMIT 1;"
Das funktioniert auch, wenn ich es über phpMyAdmin mache.

Jetzt möchte ich die einzelnen Werte natürlich auch abfragen bzw. ausgeben. Ich habe versucht mit
PHP-Code:
mysql_fetch_assoc() 
PHP-Code:
mysql_fetch_array() 
und z. B. der der Angabe
PHP-Code:
$besuchsterminabfrage['festday'
bzw.
PHP-Code:
$besuchsterminabfrage[0
die Werte auszugeben. Allerdings bleibt dies immer nur ein leerer Wert und ich habe keine Ahnung warum! Wie komme ich an den Wert der Abfrage? Es ist sichergestellt, dass bei der Abfrage auch ein Wert herauskommt, das habe ich schon geprüft!

Wäre klasse, wenn jemand eine Idee hätte.

Gruß
Tarcon
Tarcon ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.11.2008, 12:37  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Hi.
Bitte mal den zusammenhängen Code, der sich um das Senden der Abfrage an MySQL, die Fehlerprüfung, das Abholen der Datensätze und die Ausgabe der Ergebnisse kümmert, posten.
Gut, dass Du uns nicht mit einem seitenlangen Skript vollgeschüttet hast, aber die Schnippselchen sind doch etwas arg klein ausgefallen
David ist offline   Mit Zitat antworten
Alt 26.11.2008, 12:54  
Neuer Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 5
Tarcon befindet sich auf einem aufstrebenden Ast
Tarcon eine Nachricht über MSN schicken
Standard

Hallo David,

der komplette Code ist etwas zu umfangreich, um ihn hier zu posten. Ich hab´s selbst schon zum testen auf das Wesentliche heruntergebrochen und außer, dass das Ergebnis leer ist, funktioniert es auch.

Meine Testseite sieht jetzt wie folgt aus, wobei natürlich die Datenbankinfos im entsprechenden Include enthalten sind.

PHP-Code:
<?
require_once 'db_info_inc.php';
import_request_variables("gP""got_");

$link mysql_connect($dbhost$dbuser$dbpass) or die("Verbindung zur Datenbank fehlgeschlagen. Bitte versuchen Sie es zu einem anderen Zeitpunkt noch einmal.");
mysql_select_db($dbname) or die("Datenbank reagiert nicht. Bitte versuchen Sie es zu einem anderen Zeitpunkt noch einmal.");

if (
$got_customerid!="") {
    
$besuchsterminabfrage="SELECT DATE_FORMAT(status.festtermin, '%d') AS festday, DATE_FORMAT(status.festtermin, '%m') AS festmonth, DATE_FORMAT(status.festtermin, '%y') AS festyear, DATE_FORMAT(status.festtermin, '%H') AS festhour, DATE_FORMAT(status.festtermin, '%i') AS festmin FROM status WHERE status.refobj=".$customerid_value." AND DATE(NOW())<=DATE(status.festtermin) LIMIT 1;";
    
$besuchstermin=mysql_fetch_assoc($besuchsterminergebnis);
    
mysql_free_result($besuchsterminergebnis);
}
mysql_close($link);

echo 
"Festday: ".$festtermin['festday']."<br />";
echo 
"Festmonth: ".$festtermin['festmonth']."<br />";
echo 
"Festyear: ".$festtermin['festyear']."<br />";
echo 
"Festhour: ".$festtermin['festhour']."<br />";
echo 
"Festmin: ".$festtermin['festmin']."<br />";
?>
Tarcon ist offline   Mit Zitat antworten
Alt 26.11.2008, 13:05  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

du solltest schon immer den gleichen Variablennamen benutzen und nicht einmal $besuchstermin und beim ausgeben $festtermin
cycap ist offline   Mit Zitat antworten
Alt 26.11.2008, 13:06  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Fangen wir mal mit
PHP-Code:
error_reporting(E_ALL);
ini_set('display_errors'1); 
bevor wir das zugrunde liegende Problem angehen.
(Einfach mal ein bisschen Druck zur eigenen Fehlererkennung/-behebung ausüben )
Die beiden Zeilen nach dem ersten <? einfügen und das Skript noch einmal ausprobieren. Welche Meldungen erhälst Du?

Geändert von David (26.11.2008 um 13:14 Uhr). Grund: Semikolon vergessen
David ist offline   Mit Zitat antworten
Alt 26.11.2008, 13:13  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Welche Meldungen erhälst Du?
ich weiss es, ich weiss es...

aber David hat Recht, Hilfe zur Selbsthilfe ist der beste Weg für alle
cycap ist offline   Mit Zitat antworten
Alt 26.11.2008, 13:51  
Neuer Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 5
Tarcon befindet sich auf einem aufstrebenden Ast
Tarcon eine Nachricht über MSN schicken
Standard

Ähem, sorry... Im Eifer des Gefechts... Natürlich habe ich es vorher auch schon so gehabt:

PHP-Code:
echo "Festday: ".$besuchstermin['festday']."<br />";
echo 
"Festmonth: ".$besuchstermin['festmonth']."<br />";
echo 
"Festyear: ".$besuchstermin['festyear']."<br />";
echo 
"Festhour: ".$besuchstermin['festhour']."<br />";
echo 
"Festmin: ".$besuchstermin['festmin']."<br />"
Fehlermeldungen gibt es aber keine, es passier auch kein Fehler, nur die Variablen sind leer. Wie gesagt... Führe ich das Statement in phpMyAdmin aus, dann bekomme ich genau das, was kommen sollte!

Ich suche und suche... Mist, ich stolpere gerade nicht drüber, vermutlich schon betriebsblind...

Nach Einarbeitung des Fehlertracings sagt er mir nur: Undefined variable: besuchstermin, also wie erwartet... Nicht definiert, weil offensichtlich SO nicht zu referenzieren.
Tarcon ist offline   Mit Zitat antworten
Alt 26.11.2008, 14:04  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Also wenn Du mit den beiden Zeilen keine Fehlermeldung erhälst, sieht das Skript, an dem Du gerade arbeitest massiv anders aus als die Version hier im Forum.
Zum Beispiel enthält das Skript hier kein mysql_query(), Du fütterst mysql_fetch_xyz mit einer Zeichenkette und das erzeugt eine Warnmeldung und funktioniert nicht. Wenn Du danach auf den nicht existierenden Ergebnisdatensatz zugreifst, werden Hinweismeldungen erzeugt. Und wenn das, was wir sehen und das was passiert (und von dem wir wissen, dass es passieren muss) nicht zusammen passt, ist es verdammt schwer zu helfen. Das läuft dann auf raten hinaus.

edit: ach, da unten steht ja, dass Du doch Meldungen erhälst. Wenn Du sie nicht selbst entschlüsseln kannst, solltest Du sie im Wortlaut hier im Forum mit angeben. Die sind nämlich sehr hilfreich und zeigen meistens solche Probleme ziemlich genau an. Man muss "nur" die Bedeutung verstehen. Und das Problem können wir angehen.

Geändert von David (26.11.2008 um 14:07 Uhr).
David ist offline   Mit Zitat antworten
Alt 26.11.2008, 14:06  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

so komemn wir nicht weiter
cycap ist offline   Mit Zitat antworten
Alt 26.11.2008, 14:24  
Neuer Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 5
Tarcon befindet sich auf einem aufstrebenden Ast
Tarcon eine Nachricht über MSN schicken
Standard

Okay Mädels...

Asche auf mein Haupt, das Zepter der Dummheit und Blindheit in die Hand genommen... Logisch, ich habe zwar die Zeile mit der eigentlichen Abfrage in meinem Haupttemplate gehabt, aber in der Tat mit dem Namen der falschen Abfrage! Meine Güte, wie blind man sein kann.

Danke für Eure Hilfe! So, wie ich es jetzt habe, funktioniert es problemlos und sofort...

PHP-Code:
<?
error_reporting
(E_ALL);
ini_set('display_errors'1);
require_once 
'db_info_inc.php'

$link mysql_connect($dbhost$dbuser$dbpass) or die("Verbindung zur Datenbank fehlgeschlagen. Bitte versuchen Sie es zu einem anderen Zeitpunkt noch einmal."); 
mysql_select_db($dbname) or die("Datenbank reagiert nicht. Bitte versuchen Sie es zu einem anderen Zeitpunkt noch einmal."); 

    
$besuchsterminabfrage="SELECT DATE_FORMAT(status.festtermin, '%d') AS festday, DATE_FORMAT(status.festtermin, '%m') AS festmonth, DATE_FORMAT(status.festtermin, '%y') AS festyear, DATE_FORMAT(status.festtermin, '%H') AS festhour, DATE_FORMAT(status.festtermin, '%i') AS festmin FROM status WHERE status.refobj=103 AND DATE(NOW())<=DATE(status.festtermin) LIMIT 1;"
        
$besuchsterminergebnis mysql_query($besuchsterminabfrage);# or die("Besuchstermine konnten nicht geladen werden.");
    
$besuchstermin=mysql_fetch_assoc($besuchsterminergebnis); 
    
mysql_free_result($besuchsterminergebnis); 

mysql_close($link); 

echo 
"Festday: ".$besuchstermin['festday']."<br />"
echo 
"Festmonth: ".$besuchstermin['festmonth']."<br />"
echo 
"Festyear: ".$besuchstermin['festyear']."<br />"
echo 
"Festhour: ".$besuchstermin['festhour']."<br />"
echo 
"Festmin: ".$besuchstermin['festmin']."<br />"
?>
Tarcon ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
PHP, MySQL installieren frankys9 PHP Tipps 2006 10 16.03.2006 16:05
[Erledigt] MYSQL Problem Datenbanken 4 09.02.2006 15:14
Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
[Erledigt] Mysql 4.1.x unter php 4.3.9 Datenbanken 3 15.11.2005 13:49
Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Daten aus MySQL in einer zufälligen Reihenfolge ausgeben PHP-Fortgeschrittene 2 31.07.2005 12:42
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
MYSQL: Warum wird id nicht ausgegeben?!? Datenbanken 6 23.02.2005 17:37
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
[Erledigt] PHP5 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a m p; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql alias, php mysql alias, php mysql as alias, mysql alias php, php sql alias, php mysql alias beispiel, mysql alias ausgeben, datenbank alias mysql, alias in php ausgeben, php mysql alias ausgeben, sql php alias, alias mysql, php and mysql aliases, mysql php alias, mysql alias *, mysql alias where, mysql aliasnamen benutzen, mysql aliase, php mysql with alias, kann nichts ausgeben php

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum