String an PHP Script aus Java übergeben

  • Themenstarter Themenstarter MBD
  • Beginndatum Beginndatum
M

MBD

Gast
Hallo!!

Ich hoffe mir kann jetzt irgendwer weiterhelfen.... Also:

Ich habe ein Java Projekt von dem aus ich per Http Connection ein PHP-Script auf einem Webserver anspreche. Von dort aus frage ich eine MySQL-Datenbank ab. Das klappt auch alles wunderbar. Jetzt wollte ich aber ein bisschen umstellen. Und zwar will ich komplette SQL-Queries vom Java-Code an PHP übergeben. Das funktioniert auch wunderbar bis ich ein Query mit Hochkommata hab.
z.B.
"select * from db.tabelle"
"select * from db.tabelle where id=1"
diese beiden klappen einwandfrei

"select * from db.tabelle where username='name'"
klappt nicht, weil es ein problem mit den hochkommata gibt. Ich weiß auch nicht, ob der string überhaupt komplett beim PHP ankommt oder ob nicht.

Wäre echt nett, wenn jemand helfen könnte 🙂

Grüßles
 
Wie übergibst du den String? per GET?
Dann musst du den zuerst encoden. Auf PHP Seite dann nen
Code:
urldecode
und dann sollte das auch mit dem hochkomma klappen.
 
Ist auch wenn die php öffentlich zugängig ist super gefährlich sicherheitstechnisch.

Ansonsten kommt dann schon die frage auf wenn da php script die querys nur durchreicht, warum nciht gleich von ajva uafe db connecten?
 
Sicherheit ist mir im Moment egal. Notfalls wäre auch meine erste Lösung in Ordnung. Aber wenn ich die Queries erst im PHP zusammenfüge, muss man später, ggfalls es wird weiter an dem Projekt entwickelt, an zwei Dingen herumschreiben. Übergebe ich das Query im Javateil brauche ich nur ein ganz kurzes PHP-Skript.... zu meiner Verteidigung: mein Prof hat danach gefragt 😉

Danke!!!
 
Sicherheit ist mir im Moment egal. Notfalls wäre auch meine erste Lösung in Ordnung. Aber wenn ich die Queries erst im PHP zusammenfüge, muss man später, ggfalls es wird weiter an dem Projekt entwickelt, an zwei Dingen herumschreiben. Übergebe ich das Query im Javateil brauche ich nur ein ganz kurzes PHP-Skript.... zu meiner Verteidigung: mein Prof hat danach gefragt 😉

Danke!!!

Ich würde im PHP-Teil mit PreparedStatements arbeiten und diese vom Java-Teil aus nur mit
den Parametern füttern. So hättest Du gleich den Sicherheitsaspekt verbessert.

Für unterschiedliche Abfragen müsstest Du halt mehrere PreparedStatements vorhalten.
Mit einem separaten Parameter könntest Du dann vom Java-Teil aus vorgeben, welches
Statement Verwendung finden soll.

VG ROlf
 
Hat sich erledigt. einfach ganz normal den string in java zusammensetzen und im PHP was einfügen. Und zwar:

$query = ($_POST['query']);
$query = nl2br($query);
$query = stripslashes($query);

also das übergebene query noch n bisschen umformen.... dann läufts.

Grüße...




Ps.: eig. hats mal wieder mein freund gelöst.... meint er 😉
 
Trotzdem warum connectest du von java aus nicht direkt auf die db? Das sparrt sowohl den php krams der ja eh nur noch datendurchreicht als auch zwei baustellen.
 
Wenn das Javaprogramm nen Client ist, der auf ne DB Connecten soll die sich mehrere Clients teilen dann sollte das Programm keinen direkten Zugriff auf die DB haben.
 
Ja klar, wenn er das komplette Query übergibt dann ist die Lösung genauso wenig gut, aber das wurd ja schon geschrieben.
 
Ich verbinde nicht per JDBC mit der Datenbank, weil ich eine Android App entwickle, und da der Zugriff über JDBC nicht möglich ist.
 

Zurück
Oben