2011-07-04 36 views
0

我試圖用這個PHP代碼在這裏生成一些XML ...我試圖使用這個腳本的Ios應用程序,我正在學習,因爲我只是想圖如何每個零件的配合,即(應用程序,PHP和MySQL,XML)生成從MySQL服務器的XML爲iPhone應用程序消費不工作

這裏是我的iOS應用程序exicuting

<?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; 


?> 

我的PHP腳本這是所有它是生產

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

我在尋找的是一個代碼,該代碼應該在mysql數據庫中的之間,並且由用戶提供的代碼傳遞給php腳本。

任何人都可以看到最新消息嗎?

+0

'var_dump()'你的'$ row ['codes']'看看它返回了什麼。它沒有返回任何東西,首先解決它。 – KJW

回答

3

我發現上面提供的代碼存在一些「潛在」問題。

1.您的表格名稱爲codes並且您正在尋找的字段也是codes?你的SQL問題是在一個名爲codes的表中尋找一個字段名稱代碼。很難說這是否是一個問題,但是行必須代表一個字段,因此複數形式的「代碼」使我相信你在那裏犯了一個錯誤。

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

2.嘗試輸出[mysql_error][2]萬一發生了錯誤的查詢之後加入die

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

3.當你在一個SQL查詢中使用用戶提供的數據,您應該使用mysql_real_escape_string

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

哦,是的..愚蠢的錯誤..不知道我在想你的第一個問題,我應該馬上看到,我的表名是代碼,我的字段名稱是代碼..所以我已經修復了那個和其他你發現的問題..但仍然沒有顯示任何東西。 –

+0

@ C.Johns - 您確定該查詢是正確的嗎?你確定數據庫中有一個匹配的行嗎?你應該'echo $ query;'並且看看它是否是你期望的。如果我按照上面的建議在'mysql_query'之後添加了'die'並且它工作,查詢就成功了,但可能沒有返回任何行。如果你迴應查詢,你可以在這裏發佈嗎? –

+0

老實說,我不知道我做了什麼,我經歷了,重新做了你提供給我的代碼,然後它工作..對不便,非常抱歉..非常感謝幫助:) –

相關問題