Hallo, da ich euer Forum über google(php tunnel gesucht) gefunden habe, habe ich es auch gleich getestet.
Soweit alles ok, den php tunnel habe ich bissel umgebaut und sende die Daten
über post('abfrage','xyz','dudarfstrein',
sql); an die komponente TIdHTTP von
indy-client
In der 1ten
sql bekomme ich Daten zurück, in der 2ten
sql bekomme ich einen Fehler
und weiß nicht mehr weiter.
da ich mir ein phpwbb Installiert habe, kann ich auch gut testen, bei der
sql abfrage
sql := 'SELECT user_id,username FROM phpbb_users WHERE user_id < 3'
bekomme ich das in mein Memo, gibts Möglichkeiten über php das nur die Namen gesendet werden ?
array(2{["user_id"]=>string(2)"-1["username"]=>string(9)"Anonymous"}array(2{["user_id"]=>string(1)"2["username"]=>string(8) "Schubert"}
weil diesen String müsste ich zerlegen und mir die namen raus holen. ich hoffe das geht auch anders.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var sql :
String;
begin
// 1SQL ok
sql := '
SELECT user_id,username FROM phpbb_users WHERE user_id < 3'
// 2SQL nicht ok, gibt error
// sql := 'SELECT user_email FROM `phpbb_users` WHERE `username` = '+chr(39)+'Schubert' + chr(39);
post('
abfrage','
xyz','
dudarfstrein',
sql);
So habe ich mir mal meinen php Tunnel aufgebaut, da ich nicht die Originalen Zugangsdaten weiter an 3te geben wollte, sende ich 3 strings, wenn die ok sind bekommen die richtigen var ihren wert.
da ich in php noch NIE etwas gemacht habe, hoffe ich doch das dies ok ist.
Code:
<?php
include "LA/phpBB2/config.php";
// $link = mysql_connect($dbhost,$dbuser,$dbpasswd) or die('DB_FAIL1');
// mysql_select_db($dbname) or die('DB_FAIL2');
$aktion = $_POST['aktion'];
$user = $_POST['user_name']; //dbuser
$pass = $_POST['user_passwort']; //dbname
$db_pass = $_POST['db_pass']; //dbpasswd
$abfrage = $_POST['abfrage'];
//dbuser
if ($user == "xyz") {
$user = $dbuser;
}
//dbname
if ($pass == "dudarfstrein") {
$pass = $dbname;
}
//dbpasswd
if ($db_pass == "123456") {
$db_pass = $dbpasswd;
}
switch ($aktion) {
case "abfrage":
if ($abfrage != "") {
mysql_connect($dbhost,$user,$db_pass) or die('DB_FAIL1');
mysql_select_db($pass) or die('DB_FAIL2');
$
sql = $abfrage;
$result = mysql_query($
sql) OR die('DB_FAIL3');
while ($row = mysql_fetch_assoc($result))
{var_dump($row);}
}
else echo "Kein
Query gefunden";
}
mysql_close($link);
?>