【发布时间】:2014-02-01 15:24:23
【问题描述】:
我必须在使用结果之前关闭 stmt 语句:
$stmt = $mysqli->prepare("SELECT * FROM families WHERE famname = ?");
$stmt->bind_param('s', $e);
$result = $stmt->execute();
$stmt->close(); //closing statement before using $result
return mysqli_num_rows($result);
或者使用后:
$stmt = $mysqli->prepare("SELECT * FROM families WHERE famname = ?");
$stmt->bind_param('s', $e);
$result = $stmt->execute();
return mysqli_num_rows($result);
$stmt->close(); //closing statement after using $result
哪一个更安全,可以同时工作,您建议使用哪一个。
之后 或 之前
【问题讨论】:
-
第一个选项是正确的。
-
实际上都不是。这两种说法都行不通。您需要学习常规的 mysqli 语法 BEFORE 在复杂语句中尝试它。
-
更不用说你不应该只选择所有记录来计算它们。
-
@YourCommonSense 为什么其中一个不起作用?
标签: php mysql mysqli prepared-statement