Цель C. Обновление базы данных MySQL с помощью метода POST.

1

Пожалуйста, помогите мне решить одну проблему. Я потратил много времени, но все же не могу найти, что случилось.

A имеют базу данных mySql в сети с именем "c3chickens". Он имеет 1 таблицу "цыплят" и содержит 3 строки: идентификатор, псевдоним и партитуру. Мое приложение подключается к базе данных, считывает и анализирует данные и показывает результат. Он работает нормально.

Но мне также нужно писать новые псевдонимы и оценки в столбцах базы данных. Вот код для этой операции в xcode:

    NSDictionary *jsonElementToServer = [[NSDictionary alloc] initWithObjectsAndKeys:login, @"login", bestScore, @"score",  nil];
    NSLog(@"score %@", [jsonElementToServer description]);
    NSError* err = nil;
    NSData* jsonData = [NSJSONSerialization dataWithJSONObject:jsonElementToServer options:0 error:&err];    
    NSString *url = @"http://chickens.gol.com/php.php";
    url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]
                                                            cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                        timeoutInterval:60.0f];
    NSMutableData *body = [NSMutableData data];
    [body appendData:jsonData];
    [theRequest setHTTPBody:body];
    [theRequest addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [theRequest setHTTPMethod:@"POST"];

    NSURLConnection *connection = [NSURLConnection connectionWithRequest:theRequest delegate:self];
    if (connection) {
        NSLog(@"connect");
        self.infoData = [NSMutableData data];
    } else {
        NSLog(@"Connection failed");
    }

И вот мой файл php.php:

<?php
$username = "...";
$password = "...";
$hostname = "localhost";
$dbnamemysql = "c3chickens";
$mysqli = new mysqli($hostname, $username, $password, $dbnamemysql);

if(!$mysqli){
    exit("ERROR DB");
    $result = "NO METHOD";

}else{
     mysql_select_db( 'c3chickens' );
     mysql_query( "INSERT INTO chickens ('nickname', 'score') VALUES ( null, null, '".
    mysql_real_escape_string( $_REQUEST['login'] ).
    "', '".
    mysql_real_escape_string( $_REQUEST['score'] ).
    "')" );
    $result = $mysqli->query($query);
}
?>

Раньше я не использовал PHP, поэтому я не знаю этого языка. Я читал примеры в Интернете и пробовал много вариантов этого php файла, но никаких результатов. Я подозреваю, что пропустил некоторые важные и простые детали.

  • 0
    Добавьте изображение вашего стола для кур. Таким образом, мы можем иметь правильное представление о столбцах.
  • 0
    Проверьте с обновленным ответом.
Теги:
xcode

1 ответ

0

Никогда не смешивайте mysql с mysqli.

Напишите свой PHP-код, как показано ниже.

// Connection object
$con = mysqli_connect($hostname, $username, $password, $dbnamemysql) or die("Some error occurred during connection " . mysqli_error($con));
// Get data in variables. Here use mysqli_real_escape_string
$login =  mysqli_real_escape_string($con, $_REQUEST['login']);
$score =  mysqli_real_escape_string($con, $_REQUEST['score']);
// Query execution
$result = mysqli_query($con , "INSERT INTO chickens('nickname', 'score') VALUES('$login', '$score')" );
// $result will return true or false
if($result){
    echo 'success';
}else{
   echo("Error description: " . mysqli_error($con));
}

Напишите ниже двух строк при запуске файла: -

// It will show all php warning, notice, and errors.
error_reporting(E_ALL);
ini_set('display_errors', 1);

Надеюсь, это поможет вам :)

  • 0
    результат "провал"
  • 0
    В чем ошибка? Включено ли ваше сообщение об ошибке?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню