2012-06-27 3 views
1

나는 그런 코드를 가지고있는 동안 행이 계산 대신에 영향을 매칭 해드립니다. 유일한 문제는 내가 얼마나 많은 행이 내 조건에 일치하는지 알 필요가있다. R.Facility_ID={$s['Facility_ID']} AND R.Cur_Year={$s['Year']} AND R.Cur_Month={$s['Month']} 관심이 있다면 영향을받지 않겠는가, 아니면 하나만 선택하고 싶지 않다.교리 2 업데이트를

어쩌면 거기에 영향을 미칠 행을 계산하는 mysql에 대한 몇 가지 설정이 있습니까? 이것에 대한

+0

왜 개체를 사용하지 않고 단일 쿼리를 할 때 Doctrine2를 사용합니까? – Stony

+0

나는 100 개의 다른 장소에서 사용하기 때문에. 내가 여기서 그걸 사용하고 싶지 않다고 생각해 봅시다. 질문은 네이티브 쿼리에 대한 사용 원칙에 관한 것이 아닙니다. –

+0

업데이트 된 행 수를 보려면 mysql 로그를 살펴보십시오. 그러나 표시하려는 경우 ... – Hituptony

답변

2

MySQL은 그 자체가 영향을받는 행의 수를 반환 일치하는 행의 수가 아니라 the manual을 참조하십시오.

Doctrine이 여기에서 원하는 것을 수행하면 다른 쿼리를 실행해야합니다. 당신이 정말로 이것을 필요로한다면, 당신 스스로 이것을해야 할 것입니다.

편집 : 나중에 문서 한 문장 읽는 중, mysql_info (mysqli_info, PHP)이이 정보를 반환합니다.

+0

안녕하세요 해답을 가져 주셔서 감사합니다. doctrine과 함께 mysql_info를 사용할 수 있습니까? 나는 할 수 없어요, 그것은 나를 돌려줍니다. 나는이 "AbstractRestfulController되는 mysqli_info ($ this-> getEntityManager() -> getConnection()) 사용하고 있습니다. –

0

확실하지 : 논리 ... SQL을 통해 존재하지만 PHP는이 같은

SELECT COUNT(R.Facility_ID), R.Cur_Year, r.Cur_Month from Rooms R 
inner join 
ON R.Facility_ID={$s['Facility_ID']} AND R.Cur_Year={$s['Year']} AND R.Cur_Month={$s['Month']}; 

심지어 뭔가 :

$aff_rows = 0; 

foreach($sql as $current_sql) 
{ 
$updateResult = mysqli_query($link, $current_sql); 
$aff_rows = $aff_rows + mysqli_affected_rows($link); 
} 
0

업데이트 기록에서 timestamp와 같은 다른 필드를 DB에 추가하고 NOW()으로 설정하면 일치하는 모든 행에 영향을 미칩니다.