2011-12-18 4 views
0

내 업데이트로 인해 로컬 Sqlite 데이터베이스가 채워지지 않는 이유를 알고 싶습니다. 어제 데이터베이스 응용 프로그램에 기록이 거의 없으므로 올바르게 작동했습니다. 오늘 10 개의 다른 레코드를 삽입 한 후 두 메소드 모두 제대로 작동하는 것처럼 보이지만 데이터를 반환하지는 않습니다. IngredientDB 만 업데이트하지만 RecipeID 요청은 업데이트하지 않습니다. 이이 서버Http send() 요청이 어떤 값도 반환하지 않음

에 내 전화입니다 초

$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 스크립트입니다

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

코드와 유사하다

<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)"/> 

이것은 구조체입니다. 내 데이터베이스의 ure

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)가 오류를 표시하지 않도록 구성했기 때문에 대답을 얻지 못했습니다.

오류 로그를 확인 했습니까? 플래시를 통해 직접하는 대신 php 파일을 직접 실행하여 URL이 맞고 응답이 올바른지 확인할 수도 있습니다.

희망이 도움이됩니다.

+0

document xml이 올바르게 형식화되어 있으며 문제가 값을 복사하는 것으로 보입니다. xml 파일에서 ArrayCollection. 문제는 xml resolx를 diviace로 보내거나 값을 ArrayColletion으로 복사하는 것입니다. –

관련 문제