0

これらの 4 つのテキスト フィールドを php フォームを介して投稿し、データベースに挿入しようとしています。

IBOutlet UITextField *who;
    IBOutlet UITextField *what;
    IBOutlet UITextField *where;
    IBOutlet UITextField *contact;

Xcode の post メソッドは次のとおりです。

- (IBAction)post:(id)sender
{
    NSLog(@"%@", who);
    NSLog(@"%@", what);
    NSLog(@"%@", where);
    NSLog(@"%@", contact);
    // create string contains url address for php file, the file name is post.php, it receives parameter :name
    NSString *strURL = [NSString stringWithFormat:@"http://website.com/post.php?who=%@&what=%@&where=%@&contact=%@",who, what, where, contact];

    // to execute php code
    NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];

    // to receive the returend value
    NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

    NSLog(@"%@", strResult);
}

私の post.php ファイルは次のようになります。

<?php header("Location: feed.php"); ?>
<?php 

define ( 'DB_NAME','database_name');
define ( 'DB_USER','user');
define ( 'DB_PASSWORD','root');
define ( 'DB_HOST','localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!link) {
die('Could not connect: ' .mysql_error());
}

$db_selected = mysql_select_db(DB_NAME, $link);

if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}

$value1 = $_REQUEST['who'];
$value2 = $_REQUEST['what'];
$value3 = $_REQUEST['where'];
$value4 = $_REQUEST['contact'];

$sql = mysql_query("INSERT INTO content VALUES ('','".mysql_real_escape_string($value1)."','".mysql_real_escape_string($value2)."', '".mysql_real_escape_string($value3)."','".mysql_real_escape_string($value4)."')") or die(mysql_error());


 if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
    echo "You've just posted your text!";
mysql_close();
?>

しかし、アプリから投稿しようとしても、何も起こりません...

4

1 に答える 1

1

<?php header("Location: feed.php"); ?>コードの先頭にあるのはなぜですか? これにより、別のページにリダイレクトされます。

if (!mysql_query($sql)) {
  die('Error: ' . mysql_error());
}

クエリをもう一度実行します。行う:

if (!$sql) {
  die('Error: ' . mysql_error());
}

代わりは。

于 2013-03-15T12:28:04.390 に答える