Php 如何在mysql语句中动态绑定参数?

Php 如何在mysql语句中动态绑定参数?,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个字符串数组,我想用它从表中获取结果。我尝试了以下代码,但它不工作,有人能帮我吗 $subCategoryIds = array("2","3","4"); $placeholders = implode(', ', array_fill(0, count($subCategoryIds), '?')); $stmt = $this->conn->prepare("SELECT * FROM topics WHERE subcategory_id IN = ($placehol

我有一个字符串数组,我想用它从表中获取结果。我尝试了以下代码,但它不工作,有人能帮我吗

$subCategoryIds = array("2","3","4");
$placeholders = implode(', ', array_fill(0, count($subCategoryIds), '?'));
$stmt = $this->conn->prepare("SELECT * FROM topics WHERE subcategory_id IN = ($placeholders)");
$stmt->bind_param("s", $aplaceholders);
$stmt->execute();

我做错了什么?有谁有更好的解决方案吗?

我找到了解决方案,非常简单。查询后不需要绑定参数

$stmt = $this->conn->prepare("SELECT * FROM topics WHERE subcategory_id IN (".implode(',',$subCategoryIds).")");
$stmt->execute();
$result = $stmt->get_result();
$stmt->close();

但感谢您的回答。

$aplaceholders而不是$placeholders只是此处键入错误或..?您的select查询是错误的,您不能在中使用
,也不能将
=
用于单个列。另外,在脚本中添加
$aplaceholders
。你需要检查这篇帖子:是的,没错,不应该来,但它仍然不起作用。在查询成为解决方案后,不需要绑定参数。此解决方案不使用任何绑定参数