pcworld: MySQLi auf Webspace nicht installiert - was nun?

Hallo!

Ich habe längere Zeit meine Homepage auf XAMPP programmiert, und habe für den DB-Kram immer MySQLi benutzt. Jetzt habe ich das Problem, dass mein Hoster kein MySQLi unterstützt, und ich kann auch keine Extensions auf dem Server installieren (eben nur Webspace). Jetzt meine Frage:
Gibt es eine Klasse, die alle Funktionen von MySQLi implementiert, die auf die üblichen Funktionen von MySQL zugreifen? Also dass ich einfach PHP-Dateien hochlade, die ich dann entsprchend per include einbinde, und dann so MySQLi-Funktionen ausführen kann, ohne dass ich meinen gesamten DB-Code umschreiben muss? Oder gäbe es auch eine andere Möglichkeit (außer Hoster wechseln, dass will ich erstmal ausschließen)?

Gruß,
pcworld

  1. Hi!

    Jetzt habe ich das Problem, dass mein Hoster kein MySQLi unterstützt,

    Hast du ihn mal gefragt, warum er kein mysqli freigegeben hat? Wenn er keine gute Begründung hat - und da fiele mir grad keine ein - würde ich ihn wechseln. Langfristig gesehen hast du mit dem keine Freude.

    Gibt es eine Klasse, die alle Funktionen von MySQLi implementiert, die auf die üblichen Funktionen von MySQL zugreifen?

    Die "üblichen" mysqli-Funktionen beinhalten auch Prepared Statements und die Möglichkeit SQL Statements mit multiplen Resultsets auszuführen. Das bietet die mysql-Extension nicht an, muss also entweder alles emuliert werden oder geht gar nicht. PDO könntest du nehmen, das bedient beide MySQL-APIs. Ansonsten kenne ich keine, schon weil eine solche Emulation im Allgemeinen unnötig ist.

    Lo!

    1. Hast du ihn mal gefragt, warum er kein mysqli freigegeben hat? Wenn er keine gute Begründung hat - und da fiele mir grad keine ein - würde ich ihn wechseln. Langfristig gesehen hast du mit dem keine Freude.

      MySQLi liege noch nicht in einer stabilen Version vor und würde deshalb nicht installiert werden... (bessere Argumente gibt es nicht!)

      Die "üblichen" mysqli-Funktionen beinhalten auch Prepared Statements und die Möglichkeit SQL Statements mit multiplen Resultsets auszuführen. Das bietet die mysql-Extension nicht an, muss also entweder alles emuliert werden oder geht gar nicht. PDO könntest du nehmen, das bedient beide MySQL-APIs. Ansonsten kenne ich keine, schon weil eine solche Emulation im Allgemeinen unnötig ist.

      Ich meine die herkömmlichen MySQL-Funktionen (ohne "i"), wie mysql_connect() usw.
      Also ich bräuchte eine PHP-Klasse, die die gleichen Funktionen implementiert wie MySQLi und einfach auf die normale MySQL-Extension umleitet.

      Gruß,
      pcworld

      1. Hallo Pcworld,

        Hast du ihn mal gefragt, warum er kein mysqli freigegeben hat? Wenn er keine gute Begründung hat - und da fiele mir grad keine ein - würde ich ihn wechseln. Langfristig gesehen hast du mit dem keine Freude.
        MySQLi liege noch nicht in einer stabilen Version vor und würde deshalb nicht installiert werden... (bessere Argumente gibt es nicht!)

        da dies nicht stimmt, mysqli ist in den ganz normalen sourcen PHPs enthalten und muss nicht über PECL besorgt werden, wo sonst veraltete oder instabile Erweiterungen abgelegt werden, ist es kein Argument, worauf sich ein Webspace-Anbieter ausruhen könnte.

        Die "üblichen" mysqli-Funktionen beinhalten auch Prepared Statements und die Möglichkeit SQL Statements mit multiplen Resultsets auszuführen. Das bietet die mysql-Extension nicht an, muss also entweder alles emuliert werden oder geht gar nicht. PDO könntest du nehmen, das bedient beide MySQL-APIs. Ansonsten kenne ich keine, schon weil eine solche Emulation im Allgemeinen unnötig ist.

        Ich meine die herkömmlichen MySQL-Funktionen (ohne "i"), wie mysql_connect() usw.
        Also ich bräuchte eine PHP-Klasse, die die gleichen Funktionen implementiert wie MySQLi und einfach auf die normale MySQL-Extension umleitet.

        Es ist zu bezweifeln, dass es seine solche Klasse gibt. Für gewöhnlich wird man sich diesen Programmieraufwand dadurch ersparen, dass man die mysqli-Erweiterung mitkompiliert. Die sich also abzeichnenden Alternativen wären für Dich: Selbstschreiben <> Providerwechsel

        Gruß aus Berlin!
        eddi

        1. Es ist zu bezweifeln, dass es seine solche Klasse gibt. Für gewöhnlich wird man sich diesen Programmieraufwand dadurch ersparen, dass man die mysqli-Erweiterung mitkompiliert. Die sich also abzeichnenden Alternativen wären für Dich: Selbstschreiben <> Providerwechsel

          Habe mich jetzt für Providerwechsel entschieden... :-)

          Gruß,
          pcworld

  2. Hello,

    Um welchen Hoster handelt es sich? Gibt es zu diesem Thema bereits Treffer in den Suchmaschinen?

    Welche PHP-Version benutzt Du denn bei Deinem Hoster? Lass Dir die mal anzeigen. Vielleicht hockst Du da ja aus Versehen noch auf PHP4.x. Das soll es geben, dass die PHP5.x-Version dann nur über eine andere Dateiendung der Scripte erreicht wird. Diese sollte dann aber die MySQLi-Funktionen enthalten. (das hat Dir Edgar ja schon geschrieben https://forum.selfhtml.org/?t=193677&m=1293921

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de