【发布时间】:2017-03-15 16:00:46
【问题描述】:
我正在使用 ajax 在我的网站上显示动态数据!以前它是使用简单的 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++;
}
}
这是准备好的语句查询
$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->execute();
$stmt->bind_param("iss",$year,$model,$make);
$stmt->bind_result($model_trim);
while ($stmt->fetch())
{
if($model_trim)
{
$data2[$i]['model_trim']=$model_trim;
$i++;
}
}
$stmt->close();
}
用简单的 mysqli 编写的查询工作正常,但是当我在准备好的语句中使用相同的查询时,它返回给我 null!有什么想法吗?
【问题讨论】:
-
您需要在绑定参数之后执行...
-
今天我看到了一个天使!谢谢@JonStirling
-
你能在单独的评论中写下你的答案,以便我标记它吗?