2011-07-04 4 views
0

나는이 PHP 코드와 함께 여기에 몇 가지 XML을 생성하려고하는데 ... 나는이 그림을 사용하려고한다. 출력 부분의 각 (응용 프로그램, PHP, MySQL은, XML) 즉, 맞는 방법은 다음과 아이폰 애플 리케이션 소비에 대한 MySQL 서버에서 XML을 생성하지 작동

내 iOS 앱이

<?php 

header("Content-type: text/xml"); 

$username="*****"; 
$password="***"; 
$database=" *****"; 

$testcode=$_REQUEST['usercode']; ////testcode coming from ios app 

//connect to database 
$connect = mysql_connect('localhost',$username,$password) or die('No DB Connection'); 
//select database 
$db = mysql_select_db('N_codes', $connect) or die("<b>Unable to select specified database</b>"); 


//Do some stuff here 
$query = "SELECT codes FROM codes where id = '$testcode'"; //testcode coming from ios app 
$result = mysql_query($query,$connect); 


//XML STUFF 

$xml_output = "<?xml version=\"1.0\"?>\n"; 
$xml_output .= "<entries>\n"; 

$row = mysql_fetch_assoc($result); 

$xml_output .= "\t\t<code>" . $row['codes'] . "</code>\n"; 

$xml_output .= "</entries>"; 

echo $xml_output; 


?> 

을 exicuting 내 PHP 스크립트는이 그것을 생산하는 모든입니다

<?xml version="1.0"?> 
<entries> 
     <code></code> 
</entries> 

내가 찾고있는 코드는 mysql 데이터베이스에있는 사이에 있어야하며 PHP 스크립트에 전달 된 코드를 제공하는 사용자가 찾은 코드입니다.

누락 된 부분을 누구든지 볼 수 있습니까?

+0

'var_dump()''$ row [ 'codes']'그리고 그것이 무엇을 반환하는지보십시오. 아무것도 돌려주지 않으면, 먼저 수정하십시오. – KJW

답변

3

위에서 제공 한 코드에 몇 가지 "잠재적 인"문제점이 있습니다.

테이블 이름이 codes이고 찾으려는 필드가 codes입니까? 귀하의 SQL 질문 코드라는 테이블에서 필드 이름 코드를 찾고 있습니다. 그게 문제인지 아닌지를 말하기는 어렵지만 행이 하나의 필드를 나타내야하므로 "code"라는 단어의 복수형이 당신이 실수했다고 믿게합니다. 출력 [mysql_error][2] 단지 경우에 오류가 발생 쿼리 후에 die 추가

$query = "SELECT code FROM codes where id = '$testcode'"; 

2.보십시오. 당신은 SQL 쿼리에 사용자가 제공 한 데이터를 사용할 때

$result = mysql_query($query, $connect) or die(mysql_error($connect)); 

3. 당신은 mysql_real_escape_string를 사용해야합니다.

$testcode = mysql_real_escape_string($_REQUEST['usercode'], $connect); 
+0

오오 .. 어리석은 실수 .. 내가 첫 번째 질문에 대해 생각하고 있었는지 모르겠다. 바로 그걸 보아 왔어 야했다. 내 테이블 이름은 코드이고 필드 이름은 코드이다. 그래서 나는 그것을 고쳤다. 당신이 발견 한 문제 .. 여전히 아무것도 보이지 않습니다. –

+0

@ C.Johns - 질문이 맞습니까? 데이터베이스에 일치하는 행이 있는지 확인 하시겠습니까? echo $ query;를보고 기대하는 바를 확인해야합니다. 위에 제시된 것처럼'mysql_query' 뒤에'die'를 추가하면 성공했지만 쿼리는 성공적 이었지만 어떤 행도 반환하지 않았을 수 있습니다. 쿼리를 'echo'하면 여기에 게시 할 수 있습니까? –

+0

솔직히 내가 뭘했는지 잘 모르겠다. 코드를 다시 작성해 주었다. 불편을 드려 죄송합니다. 대단히 감사합니다. –

관련 문제