我在更新网站时遇到问题。考虑到安全性,我试图使用准备好的PDO重写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的事情阻止它运作。
答案 0 :(得分:1)
道歉,在这里写下它突出了明显的......
$stmt->execute;
原本应该......
$stmt->execute();