Einzelnen Beitrag anzeigen

ahab

Registriert seit: 10. Aug 2011
1 Beiträge
 
#80

AW: Komponente: MySQL via PHP-Tunnel

  Alt 11. Aug 2011, 15:38
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);
?>

Geändert von ahab (11. Aug 2011 um 15:45 Uhr)
  Mit Zitat antworten Zitat