2016-11-02 5 views
1

내 웹 사이트에 동적 데이터를 표시하는 데 아약스를 사용하고 있습니다! 이전에 내가 준비된 문을 추가하여 내 웹 사이트의 보안을 개선하고 이제 간단한 mysqli 쿼리를 사용하여 수행되었다, 난 두 개의 질의 하나가 준비된 문에 다른 mysqli로 작성되고이 여기에 mysqli 쿼리를준비된 명령문이 실행되지 않는 쿼리 실행

$sql = "SELECT DISTINCT model_trim FROM `tbl_02_models` WHERE model_year='$year' and model_name='$model' and model_make_id='$make' "; 
    $run = mysqli_query($db, $sql); 
    while ($row = mysqli_fetch_array($run)) { 
     if($row['model_trim']){ 
     $data2[$i]['model_trim']=$row['model_trim']; 
     $i++; 
     } 
    } 

을 그리고 여기에 준비된 명령문의 쿼리

간단한 mysqli로 작성된 쿼리는 정상적으로 작동하지만 준비된 쿼리에서 동일한 쿼리를 사용하면 null이 반환됩니다. 어떤 생각?

+2

당신은 당신이 PARAMS을 구속했습니다 _after_ 실행할 필요는 ... –

+0

오늘 나는 천사를 보았다! 감사합니다. @JonStirling – uneeb

+0

다른 의견으로 답글을 쓸 수 있도록 표시해 드릴까요? – uneeb

답변

1

Execute 메서드는 주석을 바인딩 한 후에 호출됩니다. 코드 아래

시도 자세한 참고로

$query="SELECT DISTINCT model_trim FROM `tbl_02_models` WHERE model_year=? and model_name=? and model_make_id=?"; 
       $stmt = $db->prepare($query); 
       if($stmt){ 

        $stmt->bind_param("iss",$year,$model,$make); 
        $stmt->bind_result($model_trim); 
        $stmt->execute(); 
        while ($stmt->fetch()) 
        { 
         if($model_trim) 
         { 
         $data2[$i]['model_trim']=$model_trim; 
         $i++; 
         } 

        } 

         $stmt->close();     
        } 

이 링크를 따라 - http://www.w3schools.com/php/php_mysql_prepared_statements.asp

관련 문제