Xcode에서 작업 중이며 정보를 입력하는 iOS 응용 프로그램이 있으며 PHP 파일을 통해 DB에 연결됩니다. 업로드 할 때 이름이나 이메일 주소는 문제가되지 않습니다. 그러나 어떤 이유로 텍스트의 양을 올리려면 UITextView
을 통해 문제가됩니다. 그것은 구두점이 전혀 없을 때 성공합니다. 그러나 마침표 나 물음표가 있으면 서버에 업로드되지 않고 그냥 실패합니다. 그러나 전자 메일 필드에서 마침표 또는 심지어 @
기호와 관련하여 문제가 없습니다. 나는 PHP 나 MySQL 백엔드에 유창하지 않다. 그래서 나는 매우 혼란 스럽다. 여기에 PHP 파일에 대한 코드입니다 : PHP 파일에 대한 떨어져 내 구문을 당겨 때 내가 말했듯이PHP 및 MySQL 관련 문제
if (isset ($_GET["firstName"]) && isset($_GET["lastName"]) && isset($_GET["emailAddress"]) && isset($_GET["deviceType"]) && isset($_GET["problemTextField"]) && isset($_GET["iosVersion"])){
$firstName = $_GET["firstName"];
$lastName = $_GET["lastName"];
$emailAddress = $_GET["emailAddress"];
$deviceType = $_GET["deviceType"];
$problemTextField = $_GET["problemTextField"];
$iosVersion = $_GET["iosVersion"];
} else {
$firstName = "User first name";
$lastName = "User last name";
$emailAddress = "User email address";
$deviceType = "User device type";
$problemTextField = "User problem text field";
$iosVersion = "User ios version";
}
$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error());
mysql_select_db($DB_Name,$con) or die(mysql_error());
$sql = "insert into $DB_Table (firstName, lastName, emailAddress, deviceType, problemTextField, iosVersion, Status, Second_Status) values('$firstName','$lastName',
'$emailAddress','$deviceType','$problemTextField','$iosVersion', 'Unanswered', 'Answered')";
$res = mysql_query($sql,$con) or die(mysql_error());
mysql_close($con);
if ($res) {
echo "success";
}else{
echo "failed";
}
, 내가 PHP를 유창하게 구사하지 않다, 그래서 좋은 주시기 바랍니다.
편집 : 하루 종일 디버깅을 한 후, 단어 사이에 공백을 제거하면 모든 것이 잘된다는 것을 깨달았습니다. 이것에 대한 이유가 있습니까? 나는 모든 것 사이에 플러스를 넣고 싶지 않다. 나는 그것이 정확하지 않다는 것을 안다.
NSString *strURL = [NSString stringWithFormat:@"http://www.website.com/phpFile.php?firstName=%@&lastName=%@&emailAddress=%@&deviceType=%@&problemTextField=%@&iosVersion=%@", firstName.text, lastName.text, emailAddress.text, deviceType.text, self.problemTextBox.text, iosVersion.text];
// to execute php code
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
// to receive the returend value
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];`
mysql_query 바로 전에 $ sql을 에코하려고하십시오. – Jompper
필드 란 무엇입니까? 어떤 유형의 필드가 데이터베이스에 있습니까? 테이블에 어떤 인코딩이 있습니까? – Leonardo
대답이 아니지만 권장 사항 : mysql_ * 함수를 사용하지 마십시오. 더 이상 사용되지 않으며 곧 사라질 것입니다. Mysqli_ * 또는 PDO를 확인하십시오. 둘 다 php.net mysql_ deprecated 메시지에 언급되어 있습니다!:) – Jite