2011-12-18 2 views
0

私の更新プログラムがローカルのSqliteデータベースに値を設定しない理由を知りたい。昨日、データベースアプリケーションのレコードが少なくても正しく動作しました。今日別の10レコードを挿入した後。どちらのメソッドも正しく動作するようですが、データは返されません。 IngredientDBのみが更新されますが、RecipeID Requestは更新されません。これはHttp send()リクエストで値が返されない

dishName.addEventListener("Success", dishName_resultHandler); 
dishName.addEventListener("...", faultHandler); 
dishName.send(); 
dishIngs.addEventListener("Success", ingredients_resultHandler); 
dishIngs.addEventListener("...", faultHandler); 
dishIngs.send(); 
protected function dishName_resultHandler(event:ResultEvent):void 
{ 
externalRecipes=event.result.recipes.recipe; 
} 

protected function ingredients_resultHandler(event:ResultEvent):void{ 
externalIngredients=event.result.ingredients.ingredient; 
} 

、私の更新アクションスクリプトコードでこれはこれは、サーバー

に私の呼び出しである第二

$conn = mysql_connect("...", "..","...") or die(mysql_error()); 
mysql_select_db("....", $conn); 

$sql = 'SELECT * FROM `IngredientDB`'; 
$res = mysql_query($sql); 

$xml = new XMLWriter(); 

$xml->openURI("php://output"); 
$xml->startDocument(); 
$xml->setIndent(true); 

$xml->writeRaw('<?xml version="1.0"?>'); 
$xml->startElement('ingredients'); 

while ($row = mysql_fetch_assoc($res)) { 
$xml->startElement("ingredient"); 

    $xml->writeElement('rowid', $row['rowid']); 
    $xml->writeElement('RecipeID', $row['RecipeID']); 
    $xml->writeElement('Ingredient', $row['Ingredient']); 
    $xml->writeElement('Quantity', $row['Quantity']); 



$xml->endElement(); 
} 

ため

$mysql_host = "..."; 
$mysql_database = "..."; 
$mysql_user = "..."; 
$mysql_password = "...."; 

$conn = mysql_connect("...", "...","...") or  die(mysql_error()); 
mysql_select_db("....", $conn); 

$sql = 'SELECT * FROM `RecipeDB`'; 
$res = mysql_query($sql); 

$xml = new XMLWriter(); 

$xml->openURI("php://output"); 
$xml->startDocument(); 
$xml->setIndent(true); 

$xml->startElement('recipes'); 

while ($row = mysql_fetch_assoc($res)) { 
$xml->startElement("recipe"); 

    $xml->writeElement('RecipeID', $row['RecipeID']); 
    $xml->writeElement('Name', $row['Name']); 
    $xml->writeElement('Category', $row['Category']); 
    $xml->writeElement('Origin', $row['Origin']); 
    $xml->writeElement('Recipe', $row['Recipe']); 
    $xml->writeElement('Favorite', $row['Favorite']); 
    $xml->writeElement('Image', base64_encode($row['Image'])); 



$xml->endElement(); 
} 

$xml->endElement(); 

$xml->flush(); 

と類似した私の最初のテーブルのための私のPHPスクリプトです

<s:HTTPService id="dishName" 
url="http://.../dish.php" 
result="dishName_resultHandler(event)" 
fault="faultHandler(event)"/> 

<s:HTTPService id="dishIngs" 
url="http://.../Ingedient.php" 
result="ingredients_resultHandler(event)" 
fault="faultHandler(event)"/> 

これはstructです。私のデータベースの内容

CREATE TABLE `RecipeDB` (
`RecipeID` int(5) NOT NULL AUTO_INCREMENT, 
`Name` varchar(20) COLLATE latin1_general_ci NOT NULL, 
`Category` varchar(20) COLLATE latin1_general_ci NOT NULL, 
`Origin` varchar(20) COLLATE latin1_general_ci NOT NULL, 
`Recipe` varchar(2000) COLLATE latin1_general_ci NOT NULL, 
`Favorite` tinyint(1) NOT NULL, 
`Image` blob NOT NULL, 
PRIMARY KEY (`RecipeID`) 
) 

CREATE TABLE `IngredientDB` (
`rowid` int(5) NOT NULL AUTO_INCREMENT, 
`RecipeID` int(5) NOT NULL, 
`Ingredient` varchar(20) COLLATE latin1_general_ci NOT NULL, 
`Quantity` varchar(100) COLLATE latin1_general_ci NOT NULL, 
PRIMARY KEY (`rowid`) 
) 
+0

これはsqliteかmysqlですか? 「どんな値も返さない」とは、どういう意味ですか? –

+0

あなたのウェブホストはGoogle AnalyticsのコードをPHPの出力に追加するようです。 Flashコンテンツデバッガプラグインを使用していますか?不正な形式のXMLに苦情を言いますか? – weltraumpirat

+0

btw。 _really_コードサンプルからデータベースの詳細を削除する必要があります... – weltraumpirat

答えて

0

どのようにあなたのウェブサーバーを設定しましたか?多分あなたのスクリプト上のPHPエラーであり、サーバー(またはmayeb php)がエラーを表示しないように設定されているため、答えが得られないでしょう。

エラーログを確認しましたか?あなたは、Flashを介して直接行うのではなく、URLが正しいことと答えが整形式であることを確認するために、phpファイルを直接実行することもできます。

希望すると便利です。

+0

document xmlが正しく整形されていますが、値がコピーされているようですXMLファイルからArrayCollectionへ問題は、xml解決をdiviaceに送信するか、値をArrayColletionにコピーすることです –

関連する問題