PHP In MySQL DB schreiben funktioniert mit keinem Hoster

max_1234

Captain
Registriert
Feb. 2012
Beiträge
3.682
Servus!
Ich versuche mich seit einigen Tagen an PHP.
Bisher hat auch immer alles wunderbar funktioniert, zumindest per xampp auf dem eigenen Rechner.

Es geht um PHP Scripts (die aus sehr viel Code bestehen), welche über eine C# Anwendung angesteuert werden. Im Wesentlichen geht es um das Abrufen (Version/Update/News), sowie das Speichern (Feedback/Backup) von Daten.

Vorgehensweise:
Ich registriere mich bei einem kostenlosen Anbieter, welcher PHP und min. eine mySQL Datenbank zur Vergügung stellt. Anschließend ändere ich entsprechend die mySQL-Anmeldedaten in den PHP-Scripts und uploade diese. Zur Sicherheit verpasse ich ihnen testweise alle Rechte (chmod 777).

Nun erstelle ich eine Datenbank (phpmyadmin) und die zugehörigen Tabellen.
Führe ich nun das Script zum Auslesen der Daten aus (PHP), so werden die von mir händisch in die Datenbank eingetratenen Test-Datensätze erfolgreich ausgelesen und im Browser angezeigt.

Versuche ich nun allerdings per POST Daten an ein PHP-Script zu senden, bekomme ich keine exception, keine meldung - gar nichts (Schlussfolgerung "funktioniert"), jedoch bleibt die Datenbank immer leer.

Die Zieldaten, sowie die Anmeldedaten sind mit absoluter Sicherheit korrekt (sonst würden die Abfragen per PHP auch nicht funktionieren). Ich nehme an, dass es unter Umständen an den Rechten liegt?

Da dies mein erster "online-Test" mit PHP ist möchte ich gerne fragen - was habe ich ausgelassen/vergessen? Muss man "normalerweise" spezielle Rechte für PHP-Scripts in phpmyadmin setzen? Diese Art von Einstellungen findet man ja leider nicht bei kostenlosen Hostern.

Grüße,
Max
 
Mahlzeit,

Klingt für mich so, als ob dein PHP-Script was die POST-Daten entgegen nimmt, nicht richtig funktioniert.
Dass bei kostenlosen Hostern zwischen "Nur Lesendem" und "Lesend und Schreibendem" Datenbankzugriff unterschieden wird, halte ich für unwahrscheinlich.
Wahrscheinlicher ist da doch, dass alle Fehlerausgaben unterdrückt werden, um die Sicherheit nicht zu gefährden. ("Fehler in Script /geheimer/pfad/zur/datei.php").

Schreib dir am besten testweise ein paar Ausgaben in dein Script ("Schritt 1 start", "Schritt 2 start", "Query = ....") um das ganze etwas zu testen und die fehlerhafte Stelle einzugrenzen.

Gruß
 
Du hattest Recht :)
Ich habe zwar bereits eine solche Step-by-Step Testdatei erstellt, jedoch mit einer eigenen Tabelle.
Bei meinen vorgefertigten Schemata wurden die Primärschlüssel nicht übernommen.
Leider war dies wohl aufgrund von serverseitiger Fehlerunterdrückung nicht einsehbar/erfassbar ...

Nun funktioniert es!
Ich dachte schon es liegt am unterschiedlichen Format (innodb/myisam).

Ein gutes Gefühl endlich Webservices aufbauen zu können!
Danke nochmal für den Hinweis, indirekt war es "die Lösung".

Grüße,
Max
 
Berechtigung 777 kann übrigens kräftig nach hinten losgehen und nur leidlich verständliche Error 500 auslösen.
Bei Shared Hostern läuft meist suPHP, und suPHP reagiert pampig, wenn Group und Other Schreibrechte haben.
 
Zurück
Oben