Fehlermeldung "Base table or view not found"

Newbie

Neues Mitglied
Hallo zusammen,

ich erhalte folgende Fehlermeldung:

Illuminate\Database\QueryException
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'b10_33026345_ibeco.group_teams' doesn't exist (SQL: select * from `group_teams` where (`show_homepage` = 1 and `status` = 1))

Weiß irgendwer, was das bedeutet oder wo der Fehler sitzen könnte? Die Datenbankconnection ist richtig, die Einträge sind auch vorhanden.
 

JR Cologne

Administrator
Teammitglied
Der Fehler bedeutet erstmal nur, dass die besagte Tabelle nicht gefunden wurde.

Heißt die Tabelle group_teams wirklich so oder ist es zufällig group_team?

Laravel geht immer von einer pluralisierten Namensgebung aus.
 

Newbie

Neues Mitglied
Hallo,

herzlichen Dank ersteinmal für die Infos. Ich werde es heute noch mal abchecken, bin aber der Meinung, das die Tabelle tatsächlich existiert. Auch interessant der Hinweis mit der pluralisierten Namensgebung. Ich gebe heute auf jeden Fall noch eine Rückmeldung.
 

Newbie

Neues Mitglied
Also, ich habe nachgeschaut, die Tabellen sind in der Datenbank enthalten und auch stimmt die jeweilige Bezeichnung, also group_teams. Problem an der Sache ist, ich kenne mich zwar grundsätzlich mit PHP und Datenbanken aus, bin aber selber kein Programmierer. Ich sollte dieses Script lediglich auf Fehler kontrollieren und musste daher im gesamten Script (welches vorher auf einem Testserver funktionierte) korrigieren. Alle Fehler wurden korrigiert und das Script immer wieder getestet. Lediglich bei der letzten Korrektur von "ibeco.group_teams" (im original war es "ibeco.grup_teams") zeigte mir das Script nun diesen Fehler an. Vielleicht hilft meine Erklärung weiter. P.S. Und nein, ich habe keinerlei Änderungen übersehen, mehrfach kontrolliert).
 

JR Cologne

Administrator
Teammitglied
Hm, kannst du uns nähere Infos zum Ursprung der QueryException geben?
Also Stacktrace und Co. sowie den zugehörigen Codeabschnitt, damit wir besser einschätzen können, aus welcher Richtung der Fehler kommen könnte.

Und mir ist nicht ganz klar, von welchem "Script" du redest bzw. was du damit meinst...
Handelt es sich um eine Art Setup-Script?
Die QueryException tritt also im Setup-Script auf, nehme ich an?
 

dominik

Aktives Mitglied
@dominik Bitte einmal kurz erklären, zum Zeitpunkt des SELECT Statements?

Wenn du dir eine lokale Entwicklungsdatenbank eingerichtet und da die Tabellen erstellt hast, ist es eher unwahrscheinlich - aber wenn du das Setup der Datenbank automatisiert hast, musst du sicherstellen, dass die Einrichtung der Datenbank vollständig abgeschlossen ist, bevor du den Code darauf los lässt. Das meinte ich damit.
 
Zuletzt bearbeitet:

Newbie

Neues Mitglied
Hallo, also, ich habe ehrlich gesagt kaum etwas von den letzten beiden Einträgen verstanden. Auch habe ich keine Entwicklungsdatenbank eingerichtet. Ich habe lediglich ein Script erhalten, also in meinen Worten eine vollständige php Seite mit SQL Datenbank. Im Original hatte ich es auf einem Testserver mittels eines Installers (im Script enthalten) installieren können. Dann habe ich Schritt für Schritt Fehler systematisch und synchron korrigiert und ersetzt (Beispiel: Route::get('/sehvice-details/ korrigiert in Route::get('/service-details/) und das natürlich in allen Seiten. Also ich habe keinerlei Fehler dahingehend gemacht, irgendwelche PHP Programmiercodes verändert zu haben. Zwischendurch habe ich immer wieder getestet ohne Probleme. Nur jetzt zum Abschluss tauchte dieser Fehler auf. Das ist der Stand der Dinge.
 

JR Cologne

Administrator
Teammitglied
Ok, sorry. Mein Beitrag war wahrscheinlich nicht so leicht verständlich.

Mir ging es darum, dass in der Fehlermeldung, die du bekommst, ja auch die Datei und die Zeile usw. angegeben ist, wo der Fehler aufgetreten ist.
Dies wäre hilfreich einmal vollständig zu sehen.

Darüber hinaus ist mir weiterhin noch nicht ganz klar, was das Script genau tut und wie du es ausführst.
Wenn du jetzt von PHP-Seite sprichst, hört sich das für mich fast so an, als würdest du eine PHP-Seite im Browser öffnen.
Oder führst du ein Script in der Konsole aus?

Und du wirst ja wahrscheinlich zusätzlich zu dem Script noch eine Menge an anderen Dateien und Ordner der Laravel App vorliegen haben.

Wenn du zudem selbst keine Datenbank angelegt hast, dann müsste es ja das besagte Script tun.
Wird dort irgendwo, vor der besagten Datenbankabfrage, etwas à la php artisan migrate ausgeführt?
Oder handelt es sich um separaten SQL-Code, der ausgeführt wird und die DB erstellt?

Es ist im Übrigen äußerst unwahrscheinlich, dass das Ganze ohne eine falsche Änderung einfach so nicht mehr funktioniert. Von daher würde ich, auch wenn du glaubst, dass keine Fehler bestehen, erstmal nicht davon ausgehen.
 

Newbie

Neues Mitglied
Hallo JR,

das Script ist für ein Unternehmen programmiert worden, was ein Frontend und ein Backend besitzt, also ähnlich wie ein CMS. Und richtig, ich habe zwecks Kontrolle immer wieder das überarbeitete Script auf einen online Testserver übertragen und auch so lässt es sich installieren. Und ja, das Script implementiert die Datenbank. Auch tauchte bei der Fehlermeldung php artisan migrate auf, war allerdings erfolglos. Ich versuche das Script noch mal hochzuladen und mögliche, weitere Fehlerangaben zu posten. Trotzdem danke schon mal vorab an alle, die versuchen zu helfen.
 

Newbie

Neues Mitglied
Hallo, liebe Leute, korrigiert mich bitte, wenn ich etwas falsch wiedergebe. Also, wenn ich ein Script, also ein vollständiges in php geschriebenes "Programm", was in/mit Laravel geschrieben wurde bzw. beinhaltet, erhalte, kann ich im Nachhinein nicht mehr etwas verändern, weil dann irgendetwas fehlt oder nicht funktioniert? Habe ich das so richtig verstanden?
 

JR Cologne

Administrator
Teammitglied
Du kannst theoretisch ändern, was du willst.
Der Punkt ist nur, dass man, wenn man etwas ändert, das nötige Wissen braucht, was diese Änderung bewirkt und welche Komplikationen diese ggf. mitbringt.

Simples Beispiel:
Du änderst in einer Datei mit Migrations (die Dateien, in denen das Datenbankschema beschrieben wird) den Name eines Datenbankfeldes.
Zack, jetzt musst du x Stellen in deinem Code anpassen, wo auf dieses Datenbankfeld zugegriffen wird bzw. irgendwas damit gemacht wird.
Das könnte z.B. die Abfrage eines Nutzernamens sein.


Btw: Ich fürchte, dass wir hier nicht weiterkommen, wenn wir nicht erheblich konkreter an die Sache rangehen.
 

Newbie

Neues Mitglied
@JR Cologne Hallo und guten Morgen, ok, das war mir klar und darin besteht meine Aufgabe ja auch. Wenn ich einen Namen oder eine Bezeichnung ändere, muss ich natürlich diesen auf allen Seiten innerhalb des Scriptes ändern. Dieses habe ich bei dem Beispiel ja auch getan. Also, vereinfacht gesagt, das gesamte Paket umfasst ca. 8000 programmierte Seiten und somit bin ich 8000 Seiten durchgegangen und habe den jeweiligen "Begriff" geändert/korrigiert. Seit Jahren gab es nie Probleme doch jetzt, mit diesem auf Laravel basierenden Script, zeigt er mir diesen Fehler an. Als ob nachträgliche Änderungen nicht angenommen werden. Mir unverständlich und ich wüsste jetzt auch nicht, was ich noch posten könnte oder müsste, um diesem Fehler auf die Schliche zu kommen.
 

JR Cologne

Administrator
Teammitglied
Jep, verstehe.

Was du noch posten könntest? Ich hatte es ja weiter oben schon mal erläutert bzw. du hast es dann auch selbst gesagt:
Auch tauchte bei der Fehlermeldung php artisan migrate auf, war allerdings erfolglos. Ich versuche das Script noch mal hochzuladen und mögliche, weitere Fehlerangaben zu posten.
1. php artisan migrate tauchte auf. Was meinst du damit, dass es erfolglos war? Kannst du prüfen, ob die Datenbank korrekt angelegt wurde?
Bekommst du irgendwelche Fehlermeldungen?

2. Wenn du das Script hochlädst und dann im Browser öffnest/ausführst, bekommst du ja wahrscheinlich Fehler angezeigt.
Mach davon mal einen Screenshot oder kopiere den Text der gesamten Fehlermeldung.
 
Oben Unten