变量数与预准备语句中的参数数量不匹配

时间:2015-04-01 12:08:13

标签: php mysql mysqli

$sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = '?'";
$stmt = $db->prepare($sql);
$stmt->bind_param("s", $database);
$stmt->execute();
$resultSet = $stmt->get_result();

它表示" 警告:mysqli_stmt :: bind_param():变量数量与...中准备好的语句中的参数数量不匹配

有人能解释一下是什么错吗? $ database 是一个字符串。

1 个答案:

答案 0 :(得分:0)

如果您使用?作为占位符,请不要使用勾选' s

$sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = ?";
$stmt = $db->prepare($sql);
$stmt->bind_param('s', $database);
$stmt->execute();
$resultSet = $stmt->get_result();