我需要使用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);
以准备好的方式获得相同的正确语法是什么? 谢谢。