PHP MySQLi bind_param()混淆
长话短说,我已经走了这么远:PHP MySQLi bind_param()混淆,php,arrays,mysqli,Php,Arrays,Mysqli,长话短说,我已经走了这么远: $stmt = $mysqli->prepare($sql); $stmt->bind_param("s",$_GET['slug']); 但我完全搞不懂如何将结果放入关联数组中。我试过了 $stmt = $mysqli->prepare($sql); $result = $stmt->bind_param("s",$_GET['slug']); while ($row = $result->fetch_assoc()) {
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s",$_GET['slug']);
但我完全搞不懂如何将结果放入关联数组中。我试过了
$stmt = $mysqli->prepare($sql);
$result = $stmt->bind_param("s",$_GET['slug']);
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["website_name"], $row["subheading"]);
}
我不认为我可以使用
$mysqli->query($query)
而不是一个准备好的语句,因为这似乎会让我面临SQL注入攻击。然而,这是PHP文档中用来完成我想做的事情的代码。因此,我找不到任何显示如何获取准备语句的结果并将其移动到关联数组中的内容。有人知道吗?甚至可能吗?Mysqli有两种查询方法
您可以使用准备好的语句,其中使用bind_param
填充占位符,execute()
执行查询,bind_result
接收结果
或者可以使用带有插值变量的语句,比如mysql。然后可以使用fetch\u assoc
将结果接收到关联数组中
我认为你不能把这两种方法混为一谈。您不能绑定参数,然后使用fetch函数来接收结果。如果你想要这种能力,可以使用PDO
这很烦人,IMHO。Mysqli有两种方法可以从预先准备好的语句中获得结果