变量数与准备语句中的参数数不匹配
Number of variables doesn't match number of parameters in prepared statements
$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 是一个字符串。
如果您使用 ?
作为占位符,请不要使用 ticks '
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();
$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 是一个字符串。
如果您使用 ?
作为占位符,请不要使用 ticks '
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();