0

私は次のphpファイルを持っています:

<?php 
$username="root";
$database="testdb";
mysql_connect(localhost,$username);
$user=$_GET["user"];
$password=$_GET["password"];
$query="SELECT documento FROM person WHERE user='".$user." and  password ='".$password."'";

$result=mysql_query($query) or die (mysql_error("error "));

$num=mysql_numrows($result);

mysql_close();

$rows=array();

while($r=mysql_fetch_assoc($result)){

$rows[]=$r;

 }
 echo json_encode($rows);

 ?>

次の関数によって達成された情報を取得しますが、例にはphp入力条件がなく、パラメーターはhttp://www.youtube.com/watch?feature=endscreen&v=IQcLngIDf9k&NR=1select * from person に基づく関数でした。

-(void) getData:(NSData *) data{

   NSError *error;

   json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

}

-(void) start {
   NSURL *url = [NSURL URLWithString:kGETUrl];

   NSData *data = [NSData dataWithContentsOfURL:url];

   [self getData:data];

}   

sqlステートメントに入力パラメーターがあるため、コードとしてではなく、次のようなものを試しました。iOS用のシンプルなPHP / MySQL Webサービスですが、必要なものに対応できません。

4

2 に答える 2

1

パラメータを文字列で渡します。ここに例があります

-(void) start {
    NSString *user     = [[NSString alloc] initWithString:@"exampleuser"];
    NSString *password = [[NSString alloc] initWithString:@"examplepassword"];
    NSString *urlstr   = [[NSString alloc] initWithFormat:@"http://myserver.com/myphpfile.php?user=%@?password=%@", user, password];
    NSURL    *url      = [NSURL URLWithString:urlstr];
    NSData   *data     = [NSData dataWithContentsOfURL:url];
    [self getData:data];
}

これはパスワードとユーザーであるため、通常は GET の代わりに POST を使用することをお勧めします。これは、表示される URL の一部ではないためです。POST を使用すると、https 行がある場合は非表示にできます。しかし、これはあなたの今の主な関心事ではないと思います。上記は機能するはずです。

于 2012-08-15T19:23:25.327 に答える