2013-09-22 1 views
0

이 코드는 작동하지 않습니다. 이것은 나에게 오류를 제공mysqli 가져 오기 루프에서 함수를 호출 할 수 없습니다.

$queryProduct = $mysqli->prepare("SELECT productID FROM products WHERE productCat=?"); 
$queryProduct->bind_param('i', $id); 
$queryProduct->execute(); 
$queryProduct->bind_result($productID); 
while ($queryProduct->fetch()) 
{ 
smallBlockProduct($productID); 
} 
$queryProduct->close(); 

"치명적인 오류 :에서가 아닌 객체의 멤버 함수 fetch_assoc()에 전화"smallBlockProduct를 호출하는 라인.

어떻게하면 smallBlockProduct 함수를 간단한 echo $ productID로 변경하면됩니까? 모든 올바른 결과를 반복합니다.

mysqli 가져 오기 루프에서 함수를 호출 할 수 있습니까? 아니면 함수를 호출하는 특별한 방법이 있습니까?

편집 :

오류는 실제로 내가 부르는 기능에 있습니다. 이 함수는 다른 쿼리를 실행합니다.

function smallBlockProduct($productID) 
    {  
    global $mysqli; 

    $query = "SELECT productName FROM products WHERE productID='$productID'"; 
    $result = $mysqli->query($query); 
    while ($row = $result->fetch_assoc()) 
     { 
     $productName = $row['productName']; 
     echo $productName.'<br>'; 
     } 
    } 

이제 다른 검색어로 다른 검색어를 사용할 수 있습니까?

+0

http://php.net/manual/en/mysqli.error.php – zerkms

+0

'i'매개 변수가 없습니다. 숫자 매개 변수를 전달해야합니다. 이렇게 : '$ queryProduct-> bind_param (1, $ id); ' –

답변

2

를 확인하는 게 좋을 것 : 그래서 지금 이미 동안, 나는 다른 쿼리의 다른 쿼리를 수행 할 수 없습니다?

첫 번째 쿼리를 잃지 않고 두 번째 쿼리를 실행하는 데 동일한 데이터베이스 연결을 사용할 수 없습니다. 두 번째 쿼리를 실행하려면 다른 연결을 열어야합니다.

+0

그 트릭을했다. 고맙습니다. – Katp00p

2

smallBlockProduct() 함수에 전달하는 $productID->fetch_assoc()을 호출하는 것처럼 보입니다.

나는이에 대응 .. $productID 함수에 무엇

function smallBlockProduct($productID){ 
    var_dump($productID); 
... 
관련 문제