MySQL und XAMPP 1.8.1

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

MySQL und XAMPP 1.8.1

Postby wuildara » 02. May 2013 18:58

Hi Leute,
seit ich XAMPP 1.8.1 auf meinem Rechner habe, funktionieren meine Applikationen nicht mehr, sobald SQL Befehle vorkommen.
PHP wird ausgeführt, ich kann z.B. Formulare generieren und die eingegebenen Werte wieder anzeigen.
Sobald ein Zugriff auf eine SQL Datenbank auftritt geht nichts.
Das einfachste Beislpiel:
<?php
/* Datenbankserver */
$db_server = 'localhost';

/* Datenbankname */
$db_name = 'datenbank';

/* Datenbankuser */
$db_user = 'benutzername';

/* Datenbankpasswort */
$db_passwort = '';

/* Erstellt Connect zu Datenbank her */
$conn = mysql_connect($db_server,$db_user,$db_passwort) or die ("Verbindung zum Server kann nicht aufgebaut werden!");

?>
funktioniert nicht, bringt aber auch keine Fehlermeldung.
var_dump($conn);
bring false als Ergebnis, d.h. die Verbindung zur Datenbank scheint nicht zu klappen.

Die gleiche Applikation unter XAMPP 1.4.x funktioniert problemlos.
Gezeigt hat sich das Problem darin, daß z.B. bei einer einfachen Auflistung aller Elemente einer Liste die Meldung:
no database selected
kam.
Ich benutze auch keine short_open_tags (zumindest nicht wissentlich).
Das Stöbern in den anderen topics zum Thema mysql hat mich nicht weitergebracht, weil hier meine Thematik irgendwie nicht beschrieben ist.

Wer kann mir weiterhelfen?
wuildara
 
Posts: 7
Joined: 02. May 2013 18:36
Operating System: Windows7

Re: MySQL und XAMPP 1.8.1

Postby Altrea » 02. May 2013 19:29

Hallo wuildara,

wuildara wrote:...
funktioniert nicht, bringt aber auch keine Fehlermeldung.

Warum sollte es auch eine Fehlermeldung bringen?
Für PHP ist alles in Ordnung. PHP kann nicht wissen, dass eine erfolglose Authentifizierung an der Datenbank ein unerwünschtes Ereignis ist.
Daher gibt es Fehlerausgabe-Funktionen extra für Datenbank-Kommandos.

wuildara wrote:var_dump($conn);
bring false als Ergebnis, d.h. die Verbindung zur Datenbank scheint nicht zu klappen.

Exakt.

wuildara wrote:Die gleiche Applikation unter XAMPP 1.4.x funktioniert problemlos.

Da liegt aber einige Zeit dazwischen.

wuildara wrote:Gezeigt hat sich das Problem darin, daß z.B. bei einer einfachen Auflistung aller Elemente einer Liste die Meldung:
no database selected
kam.

Verständlich, wenn schon die Verbindung nicht etabliert werden konnte.

wuildara wrote:Wer kann mir weiterhelfen?

Fehlerausgabe einbauen und darauf reagieren, was diese zurückgibt.
Rätselraten wäre ineffizient :D

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: MySQL und XAMPP 1.8.1

Postby wuildara » 16. May 2013 15:14

Ich hatte eigentlich gehofft, ich bekomme richtige Hilfe statt zynischer Kommentare.

/* Erstellt Connect zu Datenbank her */
$conn = mysql_connect($db_server,$db_user,$db_passwort) or die ("Verbindung zum Server kann nicht aufgebaut werden!");


Damit ist doch eine Fehlerabfrage eingebaut?
wenn mysql_connect nicht funktioniert muß doch "die" zuschlagen und die Meldung "Verbindung...." bringen.
Das tut es aber auch nicht.

Zu der Antwort:
Da liegt aber schon eine ganze Zeit dazwischen.

Ist doch völlig egal. Eine funktionsfähige "alte" Software sollte doch auch mit einer neuen Umgebung funktionieren, wenn hier keine
gravierenden Kompatibilitätsthemen eingebaut wurden.
In diesem Fall sollte man aber annehmen können, daß die Kompatibilität gewahrt bleibt.

Mit freundlichen Grüßen
wuildara
wuildara
 
Posts: 7
Joined: 02. May 2013 18:36
Operating System: Windows7

Re: MySQL und XAMPP 1.8.1

Postby wuildara » 16. May 2013 15:29

Nachtrag:
Als Unterstützung:
Ich habe die Applikation gerade auf dem gleichen Rechner aber mit XAMPP 1.7.1, also nicht ganz so alt, getestet.
Auch hier funktioniert die Sache problemlos.
wuildara
 
Posts: 7
Joined: 02. May 2013 18:36
Operating System: Windows7

Re: MySQL und XAMPP 1.8.1

Postby Altrea » 16. May 2013 16:42

wuildara wrote:Ich hatte eigentlich gehofft, ich bekomme richtige Hilfe statt zynischer Kommentare.

Dann hast du meine Antwort Missverstanden. Ich bin eigentlich kein zynischer Mensch, wenn auch gerne ein wenig mit Tendenz zur Ironie und Sarkasmus :D

wuildara wrote:Damit ist doch eine Fehlerabfrage eingebaut?

Stimmt, da hast du allerdings recht.
$conn kann nicht gleichzeitig false sein und die die() Abbruchanweisung durch den or Zweig überspringen. Ich weiß nicht ob es nicht sogar technisch unmöglich wäre, aber das wäre schon ein sehr schwerwiegender Bug in der PHP Version, der sicher bereits vor dem Release der Stable aufgefallen wäre.

Der von dir gezeigte Beispielcode funktioniert auf meiner XAMPP 1.8.1 Testumgebung (copy&paste) übrigens erwartungsgemäß:
Mit korrekten Parametern enthält $conn eine MySQL-Verbindungsressource, bei falschen Daten wird die Abbruchanweisung ausgeführt.

Es gibt nun also aus meiner Sicht vier mögliche Fehlerursachen:
  1. Der Fehler liegt in deinem eigenen Script versteckt (Zeichencodierung oder ähnliches)
    (Sehr unwahrscheinlich, da so etwas in Kontrollstrukturen einen Parse Error vom Typ Syntax Error hervorrufen würde, der bei XAMPP 1.8.1 eine HTTP Status Code 500 Fehlerseite ausgeben würde)
  2. PHP oder der MySQL Adapter zeigt ein nur auf deinem System beschränktes bzw. unter nur ganz bestimmten Bedingungen auftretendes Fehlverhalten.
    (Das wäre tatsächlich in meiner 13 Jährigen Geschichte mit PHP das erste Mal, dass mir so etwas in einem solchen Ausmaß begegnen würde. Damit möchte ich nicht sagen, dass es unmöglich wäre)
  3. Deine Deutung des Resultats ist unkorrekt (Bsp.: eine weiße Seite ist nicht gleichzusetzen mit einem Fehler)
  4. Deine hier gemachten Angaben entsprechen nicht der Wahrheit, sind unvollständig oder bestenfalls ungenau
Ich habe nicht die Informationsgrundlage entscheiden zu können, welcher Grund der richtige ist und möchte dir damit auch nicht zu Nahe treten. Vielleicht übersehe ich auch einfach nur etwas wesentliches.

wuildara wrote:Ist doch völlig egal. Eine funktionsfähige "alte" Software sollte doch auch mit einer neuen Umgebung funktionieren, wenn hier keine
gravierenden Kompatibilitätsthemen eingebaut wurden.

Es werden fast immer Änderungen vorgenommen, die die Kompatibilität betreffen. Eine Programmiersprache ist nunmal einem permanentem Wandel unterzogen um den ständig wechselnden Anforderungen gerecht werden zu können.
Aber da dein Beispielscript bei mir funktioniert, können wir das in diesem Fall wohl ausschließen.

Und dennoch meine ich meine Andeutung sehr ernst, doch endlich mal Fehlerkontrollstrukturen die PHP bereithält in dein Script einzubauen. Wenn bei dir $conn false zurückgibt, dann pfeif doch auf die bei dir scheinbar sowieso nicht funktionierende Abbruchbedingung und bau soetwas hier ein:
Code: Select all
if(!$conn) {
    echo 'MySQL Fehler '.mysql_errno(). ': ' .mysql_error();
}


mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: MySQL und XAMPP 1.8.1

Postby wuildara » 16. May 2013 18:45

Danke für die schnelle Antwort,
die Fehlerabfrage werde ich sofort ausprobieren.
Wenn das Script bei Dir funktioniert, dann kann richtigerweise der Fehler nur bei mir sein.
Was mich verwundert, ist Deine Aussage bezügl. der "die" Anweisung. Ich habe dieses Beispiel aus
meinem Kursordner, der zugegebenermassen ein bißchen betagt ist. Dort haben wir das so angewendet.
Es hatte meines Wissens auch funktioniert. Aber egal, ich teste Deine "routine", mal sehen was da raus kommt.
Bringt mich das nicht weiter werde ich mich wieder melden.

Mit freundlichen Grüßen
wuildara
wuildara
 
Posts: 7
Joined: 02. May 2013 18:36
Operating System: Windows7

Re: MySQL und XAMPP 1.8.1

Postby wuildara » 16. May 2013 19:11

Nochmal ein Nachtrag:
auf http://selfphp.de/funktionsreferenz/mysql_funktionen/mysql_connect.php
findest Du übrigens exakt meinen Code .
Wahrscheinlich hat mein Kursleiter von damals auch dort abgeschrieben.
wuildara
 
Posts: 7
Joined: 02. May 2013 18:36
Operating System: Windows7

Re: MySQL und XAMPP 1.8.1

Postby Altrea » 16. May 2013 19:15

Auch der Code funktioniert bei mir Fehlerfrei (copy&paste).
@ zum Unterdrücken von Fehlermeldungen ist schlechter Stil, tut der Funktionalität hier aber keinen Abbruch.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: MySQL und XAMPP 1.8.1

Postby wuildara » 17. May 2013 10:41

Ich bin jetzt ein Stück weitergekommen. Es kommt anscheinend doch irgendeine Verbindung zur Datenbank zustande.
Nachdem:
if(!$conn) {
echo 'MySQL Fehler '.mysql_errno(). ': ' .mysql_error();
}
Keine Ausgabe brachte, habe ich mir mit var_dump die Variable $conn anzeigen lassen.
Ich bekomme als Ergebnis:
resource(3) of type (mysql link)
Beim Versuch, die, aus dem Eingabeformular gelesenen, Daten abzuspeichern kommt aber immer noch: No database selected.
Ich mache folgendes:
if ($send == 'Absenden')
{
mysql_query("use dbname");
$daten1="(text1,text2) values";
$daten2="('".$da_text1."','".$da_text2."')";
$sql="insert into tabelle".$daten1.$daten2;
$result=mysql_query($sql) or die (mysql_error());
.....
Dabei ist $send der Wert, der mit dem "Absenden"-Button per POST-Methode übergeben wurde.
$da_text1 und $da_text2 sind die Werte aus dem Formular

Anscheinend funktioniert die mysql_query Abfrage nicht. Ich habe mal bei mysql.com im Referenzhandbuch nachgeschlagen, da ist die
Rede davon, daß die Funktion mysql_connect ab Version 5.5.x abgelehnt wird. Hat das mit meinem Problem zu tun?

wuildara
wuildara
 
Posts: 7
Joined: 02. May 2013 18:36
Operating System: Windows7

Re: MySQL und XAMPP 1.8.1

Postby Libre » 17. May 2013 11:15

Hallo,
ich habe dein Beispiel mal eben ausprobiert.
Wenn die Zugangsdaten stimmen, dann klappt es mit dem verbinden und der DB-Auswahl.
Bei dir steht: mysql_query("use dbname");
ist vielleicht $dbname gemeint?
Sonst könnte noch der Wert von $send fehlerhaft sein (klein geschrieben, tippfehler,..).

edit:
ich habe auch xampp 1.8.1 installiert.

edit2:
oben steht auch $db_name
Libre
 
Posts: 3
Joined: 17. May 2013 09:54
Operating System: Windows XP Home

Re: MySQL und XAMPP 1.8.1

Postby Altrea » 17. May 2013 12:09

Wenn du eine Datenbank auswählen willst, kennt php auch dafür eine Funktion: http://php.net/manual/de/function.mysql-select-db.php
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: MySQL und XAMPP 1.8.1

Postby wuildara » 18. May 2013 20:28

Servus Leute,
mit diesem Eintrag beantworte ich gleich die beiden vorhergehenden Einträge.

1. mit dbname ist der Name der Verwendeten Datenbank gemeint, z.B. personaldaten, die verwendet werden soll.
Das war aber nicht mein Problem.

2. mit mysql-select-db und der Funktion mysql_error, wie im Manual beschrieben, bin ich hinter mein Problem gekommen.

mysql_error lieferte nämlich die Fehlermeldung, daß der Benutzer, den ich mit 'benutzername' angegeben hatte, keine Zugriffsberechtigung auf die Datenbank hat.
Mit dem Admin-Aufruf aus der XAMPP Console konnte ich dann die Rechte eintragen. Anscheinend wurden bei der Installation der Version 1.8.1 die Rechte aller
Benutzer mit Ausnahme von root gelöscht, so daß der Eintrag für den 'benutzername' gar nicht mehr existierte. Ich hatte die Version 1.8.1 über die ältere Version
installiert und keine Neuinstallation vorgenommen. Natürlich nahm ich an, daß alle bisherigen Rechte-Einträge für die Datenbanken weiter existierten.

Vielen Dank für Eure Unterstützung, jetzt kann mich dann meinen eigentlichen Problemen, die aber mit meiner Aufgabenstellung zusammenhängen widmen.

wuildara
wuildara
 
Posts: 7
Joined: 02. May 2013 18:36
Operating System: Windows7

Re: MySQL und XAMPP 1.8.1

Postby Altrea » 18. May 2013 21:02

wuildara wrote:Ich hatte die Version 1.8.1 über die ältere Version
installiert und keine Neuinstallation vorgenommen. Natürlich nahm ich an, daß alle bisherigen Rechte-Einträge für die Datenbanken weiter existierten.

Dies ist eine Installationsmethode, die von XAMPP nicht unterstützt wird. Im Gegenteil: Wenn bei der Installation bestimmte Dateien zum Beispiel nicht geschrieben werden können weil sie gerade in Verwendung sind, kann dies zu Fehlern führen, die nicht oder nur schwer nachvollziehbar sind (erst Recht für jemanden, der versucht dir aus der Ferne in einem Support Forum Hilfestellung zu leisten).

Also: XAMPP immer komplett neuinstallieren und niemals drüberinstallieren.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 42 guests