2014-12-29 2 views
-2

나는 abantecart에서 새 화면을 개발하고 있는데 나는 사용자 ID가 데이터베이스에 존재하는지 여부에 관계없이 chaeck 할 필요가있다. 이미 거기에 있다면 나는 업데이트해야한다. 그렇지 않으면 삽입해야한다. :abantecart에서 mysql_num_rows

$sql = "SELECT * FROM ".$this->db->table("payment_details") . " WHERE user_id='" . $userid . "'"; 
$result = $this->db->query($sql); 

    if(mysql_num_rows($result) >0) 

하지만 여기에서이 조건은 항상 false를 반환하고 insert 쿼리는 else에서 실행됩니다.

어떻게 abantecart에서 mysql_num_rows을 사용할 수 있습니까?

+1

좀 더 완벽한 스 니펫을 공유 할 수 있습니까? – Mureinik

답변

0

시도해보십시오.이 논리로 도움이 될 것입니다.이 $ this-> db-> count_all_results();

$sql = "SELECT * FROM ".$this->db->table("payment_details") . " WHERE user_id='" .  $userid . "'"; 

$result = $this->db->query($sql); 
//work with this $this->db->count_all_results(); 
if(mysql_num_rows($result) >0) 
{ 
//Write update query 
} 
else { 
//Write Insert query 
} 
+0

이것은 내가 이전에 사용했던 것입니까? – Sridher

+0

이 $ this-> db-> count_all_results();와 작동합니다. –

+0

동일한 오류 메신저 가져 오는 중 ... "정의되지 않은 메서드 호출 ADB :: count_all_results()" – Sridher

2

저는 if ($result->num_rows() > 0)을 사용하여 귀하의 결정에 진실하거나 틀릴 수 있다고 생각합니다.

자세한 내용은 CodeIgniter에서 Generating Query Results을 확인하십시오.

또는 if ($result->num_rows > 0)도 사용할 수 있습니다. 체크 아웃은 in this post이지만 그게 $mysqli 개체입니다. 이것은 num_rows 구현 예의 github에 gist입니다.

+0

정의되지 않은 메서드 호출 stdClass :: num_rows() – Sridher

1

$의 SQL =는 $ this-> db-> query() ("payment_details을". $ this-> DB-> 테이블을 "SELECT * FROM". "WHERE USER_ID = '". $ 사용자 ID. "' ");

   if($sql->num_rows >0){ 

나는 다음과 같이 사용함으로써, 올바른 얻었다.