请帮我解决一个问题。我浪费了很多时间,但仍然无法找到错误。
在Web上有一个名为“c3chickens”的mySql数据库。它有1个表“鸡”,包含3行:id,昵称和分数。 我的应用程序连接到数据库,读取和解析数据并显示结果。它工作正常。
但我还需要在数据库列中编写新的昵称和分数。以下是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)
永远不要混用mysql with mysqli。
编写您的PHP代码如下。
os.system('openssl smime -verify -in /tmp/mails/d4fa5d0f-2250-4acd-8d3d-14c4e9743392')
在文件开头写下两行: -
// 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));
}
希望它会对你有所帮助:)。