2011-07-04 7 views
0

私はここにこのPHPコードでいくつかのXMLを生成しようとしています...私はiOSアプリケーション用にこのスクリプトを使用しようとしています。アウトここでは部品の各フィットすなわち(アプリ、PHP、MySQLの、XML)iphoneアプリの消費量のためにmysqlサーバからXMLを生成していません

は、私のiOSアプリは、これはそれが

<?xml version="1.0"?> 
<entries> 
     <code></code> 
</entries> 
を生産しているすべてのことである

<?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スクリプトですか

私が探しているのは、の間にあるコードで、mysqlデータベースにあり、ユーザーがphpスクリプトに渡すコードを提供していることがわかります。

誰にも分からないことがありますか?

+0

'var_dump()' '$ row ['codes']'とそれが返すものを参照してください。何も返さないということは、まずそれを修正してください。 – KJW

答えて

3

上記で提供したコードにいくつかの潜在的な問題があります。

codesという名前のテーブルと、探しているフィールドもcodesですか?あなたのSQL質問は、コードと呼ばれるテーブル内のフィールド名コードを探しています。それが問題なのかどうかは分かりませんが、行は1つのフィールドを表す必要がありますので、複数のバージョンの "code"という単語はあなたが間違っていると信じさせます。

$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'を追加してもうまくいけば、クエリは成功しましたが、何の行も返さなかったかもしれません。クエリを 'echo'した場合、ここに投稿できますか? –

+0

正直なところ私は何をしたのか分からず、あなたが私に与えたコードをやり直しました。ご迷惑をおかけして申し訳ありません。非常にありがとうございます。 –

関連する問題