Alles klar, also bin ich ziemlich neu in PHP und SQL / MySQL, also ist jede Hilfe willkommen.
Ich habe das Gefühl, dass ich den richtigen Ansatz gewählt habe. Ich suchte php.net nach "MySQL zeige alle Tabellennamen", gab eine veraltete Methode zurück und schlug eine MySQL-Abfrage auf SHOW TABLES [FROM db_name] [LIKE 'pattern']
vor Ich bin mir nicht sicher, was "pattern" bedeutet, aber ich suchte nach "SQL Wildcard" und bekam das Symbol. Nach allem, was ich gefunden habe, sollte dies funktionieren und die Tabellennamen am Ende ausgeben, tut es aber nicht. Irgendwelche Vorschläge? Vielen Dank im Voraus.
Ich bekomme keine Fehler. Die Ausgabe ist genau das Echo, aber keine Tabellennamen.
Die eckigen Klammern in Ihrem Code werden in der mysql-Dokumentation verwendet, um Gruppen von optionalen Parametern anzugeben. Sie sollten nicht in der eigentlichen Abfrage sein.
Der einzige Befehl, den Sie tatsächlich brauchen, ist:
%Vor%Wenn Sie Tabellen aus einer bestimmten Datenbank wollen, sagen wir die Datenbank "Bücher", dann wäre es
%Vor%Sie benötigen nur den LIKE-Teil, wenn Sie nach Tabellen suchen möchten, deren Namen einem bestimmten Muster entsprechen. z.B.
%Vor%würde Ihnen die Namen von Tabellen zeigen, die irgendwo im Namen "Buch" haben.
Wenn Sie die Abfrage "Tabellen anzeigen" ausführen, wird keine Ausgabe erzeugt, die Sie sehen können. SQL beantwortet die Abfrage und leitet sie an PHP weiter, aber Sie müssen PHP sagen, dass es auf die Seite zurückkommt.
Da es sich anhört, als wären Sie neu in SQL, würde ich empfehlen, den mysql-Client über die Befehlszeile auszuführen (oder mit phpmyadmin, falls er auf Ihrem System installiert ist). Auf diese Weise können Sie die Ergebnisse verschiedener Abfragen anzeigen, ohne die PHP-Funktionen zum Senden von Abfragen und Empfangen von Ergebnissen durchgehen zu müssen.
Wenn Sie PHP verwenden müssen, ist hier eine sehr einfache Demonstration. Versuchen Sie diesen Code nach dem Verbinden mit Ihrer Datenbank:
%Vor%Die Klammern, die häufig in der mysql-Dokumentation für Beispiele verwendet werden, sollten in einer 'echten' Abfrage weggelassen werden.
Es scheint auch nicht, dass Sie das Ergebnis der MySQL-Abfrage irgendwo widergeben. mysql_query gibt bei Erfolg eine mysql-Ressource zurück. Die PHP-Manpage enthält auch Anweisungen zum Laden der mysql-Ergebnisressource in ein Array für Echos und andere Manipulationen.
Abfragen sollten wie folgt aussehen:
%Vor%Dinge aus der MySQL-Dokumentation in eckigen Klammern [] sind optional.
Sicher kannst du deine Datenbank mit SHOW TABLES
abfragen und dann alle Datensätze durchlaufen, aber das sind zusätzliche Codezeilen und funktionieren.
PHP hat eine eingebaute Funktion, um alle Tabellen in einem Array für Sie aufzulisten:
mysql_list_tables - Weitere Informationen dazu finden Sie unter Die PHP-API-Seite