Problem mit mysql_query() -Befehl

  • Hallo,
    ich habe mich jetzt doch entschieden ein eigenes Login- und Registrierungsskript zu schreiben.
    Dafür habe ich mich in den letzten Tagen etwas eingelesen und habe jetzt ein Skript für die Registrierung geschrieben, welches meiner Meinung nach funktionieren sollte...
    Einige MySQL- Befehle bereiten mir aber noch Probleme.


    Und zwar bekomme ich folgende Fehlermeldung auf meinem lokalen Testserver (XAMPP):

    Zitat

    Fatal error: Call to undefined function mysql_query() in C:\xampp\htdocs\test\register.php on line 33


    Auf meinem realen Server erhalte ich:

    Zitat

    Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in /home/stud/t/toro4621/public_html/test/register.php on line 33


    Zeile 32-33 sieht bei mir so aus.


    PHP
    $abfrage = "SELECT user FROM login WHERE user = '$user'";
    			$ergebnis = mysql_query($abfrage);


    Kann mir jemand sagen wo genau der Fehler liegt? Ich finde es selbst leider nicht raus.

  • Hi,


    Die mysql_ Erweiterung in php ist veraltet und sollte nicht mehr benutzt werden. Wenn du einem Tutorial folgst, wo das noch benutzt wird, dann ist das veraltet. Steige auf mysqli oder pdo um. Bei dir Lokal ist die mysql Erweiterung schon in der php.ini deaktiviert. Auf deinem Server benutzt du wahrscheinlich falsche Zugangsdaten zum MySQL Server.


    Außerdem baust du da etwas mit krassen Sicherheitslücken, Stichwort MySQL injection. Variablen sollten niemals unbehandelt in sql Befehle gesetzt werden. Wenn du auf pdo umsteigst, dann wird das automatisch für dich gemacht.


    Gruß Talwin

  • Danke für eure Hilfe.
    die Datenbankverbindung habe ich nun hinbekommen...
    Kann ich das jetzige Skript einfach in pdo umschreiben?
    Wenn ich das richtig verstanden habe, muss ich dafür nur den Befehl für die Datenbankverbindung ändern, sowie den mysqli_query() - Befehl?
    Oder muss ich noch mehr beachten?

  • guck mal hier:
    http://php.net/manual/de/mysqli.quickstart.php
    http://php.net/manual/de/pdo.connections.php


    Im Forum hatten wir die Themen auch schon öfter.
    Egal für welche Version Du Dich entscheidest - wenn was unklar ist, einfach frage (gerade bei Sachen Sicherheit).


    Note: wenn Du mit Klassen in PHP noch nichts gemacht hast, dann könnte mysqli_ Deine Wahl sein.
    Empfehlen würde ich PDO - musst Du aber entscheiden.


    Was Du tun musst, ist die Methoden (zB Verbindung zur DB) auszutauschen. (Fehler abfangen nicht vergessen)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!