German HttpUtils2 und php

Andie

Member
Licensed User
Longtime User
Man kann ja mit der Download-Methode eine php-Datei auf einem Webserver ausführen:
B4X:
Dim job1 as HttpJob
job1.Download("http://example.net/connect_to_db.php")

Die Datei connect_to_db.php kann im Prinzip so aussehen:
PHP:
<?php
   $databasehost = "xxx";
   $databaseusername ="yyy";
   $databasepassword = "zzz";
   $con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());

Kann ich jetzt die Fehlermeldung des php-Scriptes (mysql_error) durch die App einfangen, z. B. in der JobDone-Subroutine? Ein Versuch à la "Job.ErrorMessage" war nicht erfolgreich. Wahrscheinlich sehe ich das Ganze zu naiv.
 

DonManfred

Expert
Licensed User
Longtime User
Wenn ein MySQL Fehler auftritt dann hast du eh schon Fehler im Script. Dürfte eigentlich gar nicht passieren.

Fehler kann man durch richtige Programmierung abfangen und man kann dann -bei Bedarf - auch eine ordentliche Fehlermeldung an die App zurückliefern als das PHP-Script einfach mit die() zu killen. Die gezielte rückmeldung der Fehlermeldung im Script kann man dann auch in der App auswerten.

Job.Errormessage wird ja nichts bringen weil der Job an sich, also der aufruf der php-Seite, ja durchaus erfolgreich war (aus protokollebenen-sicht).

Also im Jobdone dürfte success = true sein und Du kannst die Ausgaben vom php-script ja mit Job.GetString bekommen... Da steht auch die besagte mysql_error meldung mit drin.
 
Last edited:

Andie

Member
Licensed User
Longtime User
Vielen Dank, DonManfred, für deine super Antwort! Meine Idee war, dass an die App eine entsprechende Meldung gehen soll, wenn ein bestimmter Username nicht in meiner mysql-DB ist. Also in der Form:
PHP:
if (!$username) {
  die('User ist nicht registriert');
}
Das hat aber, wie Du sagst, mit einer eigentlichen Fehlermeldung, die unter "If Job.Success = False" abgefangen werden könnte, nichts zu tun. Also habe ich es so gemacht, wie Du vorgeschlagen hast: Unter "If Job.Success = True" lese ich Job.Getstring aus. Perfekt - genau das, was ich wollte. Vielen herzlichen Dank!
 
Top