带有关联数组的php程序准备

时间:2019-03-15 11:23:36

标签: php prepared-statement associative-array

我需要使用prepare语句来获取一系列结果,而到目前为止,我的经验都是以过程方式进行的。 这是我需要帮助的代码:

在此之前,我有一个require语句,该语句与数据库建立了连接,并通过表单中的$ _POST方法获得了两个变量,分别是$ town和$ type。

$stmt = mysqli_smt_init($conn);
if (mysqli_stmt_prepare($stmt, "SELECT town, type, code FROM tab_01 WHERE town = ? AND type LIKE ?");
mysqli_stmt_bind_param($stmt, "ss", $town, $type);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if (mysqli_num_rows($result) > 0) {
   while($row = mysqli_fetch_assoc($result)) {
      $townvalue[] = $row["town"];
      $typevalue[] = $row["type"];
   }
}
mysqli_stmt_close($stmt);

它当然不会运行,因为在“ if”和“ while”语句中,我的语法来自未准备的语句,这肯定是错误的。

我需要回显结果的行(我指的是结果的三列)。

在未准备好的陈述中,我会这样写:

$sql = "SELECT town, type, code FROM tab_01 WHERE town='$town' AND type LIKE '$type'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
   while($row = mysqli_fetch_assoc($result)) {
      echo $row["town"];
      echo $row["type"];
      echo $row["code"];
   }
}
mysqli_free_result($result);
mysqli_close($conn);

以准备好的方式获得相同的正确语法是什么? 谢谢。

0 个答案:

没有答案