我想对一行代码使用prepare语句。它在我的本地计算机上运行良好,但在部署时,我得到错误,get_result()无法使用。我的问题是:如何使用预准备语句获取行中的所有列,而不是特别提到列名称如下所示:
<?php
$rcd= "2";
$stm = $link->prepare("SELECT location_name,location_code FROM tab_location WHERE rcode=? ORDER BY location_name");
$stm->bind_param('s',$rcd);
$stm->execute();
$stm->bind_result($locName,$locCode);
?>
<option value="">Select Location</option>
<?php while($stm->fetch()){?>
<option value="<?php echo $locCode;?>"><?php echo $locName;?></option>
<?php };?>
</select>
<?php $stm->close();?>
我的意思是:
$cf = mysqli_fetch_array(mysqli_query($link,"SELECT * FROM tab_location WHERE rcode='2'"));
$locName = $cf['location_Name'];
$locCode = $cf['location_code'];
$variableName = $cf['columnName'] etc;
我知道第一个代码会阻止SQL INJECTIONS,后者会允许它。但是,我希望能够阻止它以及获取所有列而不在select语句中特别提及它们。