2016-03-25 6 views
1

サイトの更新に問題があります。セキュリティを念頭に置いて、準備されたPDOを使用してSQL文を書き直そうとしています。それは私の一般的な選択です。結果を返さない準備済みSQLステートメントへの更新

私が取り組んでいるサイトでは、この検索結果がjson経由で検索ボックスに返されます。それは私が作ったのいずれか

$sql = "SELECT * FROM stock_c_ranges WHERE deleted = 'no' AND current_status = 'current'"; 
$result = mysqli_query($conn, $sql); 
    $results_list = array(); 
while($row = mysqli_fetch_array($result)){ 
    $results_list[] = $row['manufacturer_name'].' ID:'.$row['id']; 
} 

echo json_encode($results_list); 
私はプリペアドステートメントを使用して再書きました

...

$range = "SELECT * FROM stock_c_ranges WHERE deleted= :deleted AND current_status= :cstatus"; 
$deleted='no'; 
$c_status='current'; 
$result_lists=array(); 
$stmt=$pd_con->prepare($range); 
$stmt->bindParam(':deleted',$deleted,PDO::PARAM_STR); 
$stmt->bindParam(':cstatus',$c_status,PDO::PARAM_STR); 
$stmt->execute; 
while($row=$stmt->fetch(PDO::FETCH_ASSOC)){ 
    $results_list[] = $row['manufacturer_name']. 'ID:'.$row['id']; 
} 
echo json_encode($results_list); 

.....これがないではない

...作品私はあまりにも長い間それを見てから目が覚めていない、またはPDOとJSON/AJAXを使用して、機能を停止することに気づいていないことについて何かがあります。

答えて

1

謝罪は、それをここに書くことは紛れも明らかに...

$stmt->execute; 

が...

$stmt->execute(); 
をされている必要があります強調しています
関連する問題