使用php预处理语句

时间:2018-01-29 11:07:56

标签: php

我想对一行代码使用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语句中特别提及它们。

0 个答案:

没有答案