2010-06-10 4 views
0

업데이트 문을 반복하고 싶지만 루프가 한 번만 반복됩니다.do - while PHP를 사용하여 SQL 업데이트 루프 문을 수행하고 싶습니다.

do { 
    mysql_select_db($database_ll, $ll); 
    $query_query= "update table set ex='$71[1]' where field='val'"; 
    $query = mysql_query($query_query, $ll) or die(mysql_error()); 
    $row_domain_all = mysql_fetch_assoc($query); 
} while ($row_query = mysql_fetch_assoc($query)); 

감사 장

+0

질문은 무엇으로 대체 할 필요가? –

+0

아마도 당신은 당신이하려는 것을 설명 할 수 있습니다 ...? – deceze

+1

그 코드는 무엇을합니까? 무엇을하고 싶니? 귀하의 질문은 무엇인가? –

답변

0

문제는 당신이 당신의 루프 내에서 $ 쿼리에 값을 reattribute입니다 : 여기

은 내가 사용하고 코드입니다.

do { 
    mysql_select_db($database_ll, $ll); 
    $query_query= "update table set ex='$71[1]' where field='val'"; 
    $query2 = mysql_query($query_query, $ll) or die(mysql_error()); 
    $row_domain_all = mysql_fetch_assoc($query2); 
} while ($row_query = mysql_fetch_assoc($query)); 
+0

을 입력하고 UPDATE 쿼리에서 mysql_fetch_assoc을 사용합니다.이 쿼리는 행을 반환하지 않습니다. – softcr

+0

사실, 그는 루프 내에서'$ query'에 한 번만 할당합니다. 아무 문제가 없어야합니다. – deceze

5

글쎄, 단지 UPDATE 쿼리는 mysql_fetch_assoc으로 추출 할 수있는 행을 반환하지 않는 것 번 반복하는 것 이유를보십시오. 따라서 mysql_fetch_assoc($row_query = mysql_fetch_assoc($query))false이라는 표현식을 렌더링하는 false을 반환하므로 루프가 중단됩니다.

그렇지만 그 코드는 유감 스럽지만 유감 스럽습니다. 그것은 당신이하고 싶은 것을 알려주고, 더 좋은 방법이 있어야합니다.

0

mysql 쿼리에 문제가있을 수 있습니다.

$ query_query = "업데이트 테이블 세트 ex = '$ 71 [1]'여기서 field = 'val'";

검색어가 잘못되었습니다.

업데이트 쿼리는 "업데이트"테이블 이름 "집합 ex = '$ 71 [1]'여기서 field = 'val'";

테이블 이름을 놓쳤습니다.

또는 '테이블'을 테이블 이름으로 사용하는 경우 그것을 바꾼다.

0

사람들은

나는이

$query = mysql_query($query_query, $ll) or die(mysql_error()); 
$row_domain_all = mysql_fetch_assoc($query); 

$Result1 = mysql_query($query_query, $ll) or die(mysql_error()); 
+0

죄송합니다.하지만 그건 의미가 없습니다. 그것이 해결책이라면 문제의 절반을 생략해야합니다. – deceze