所以,一开始我加入了很多表,并使用别名,但是我把它简化为下面的表示法,它给了我这个错误。
警告: mysqli_stmt::bind_param():变量数与
$sql = "SELECT table.name FROM `table`";
if (!($stmt = $link->prepare($sql))) {
    echo "Prepare failed: (" . $link->errno . ") " . $link->error;
    die();
}
if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error."<br/>";
    die();
}
if (!$stmt->bind_param("s", $country)) {
    echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
    die();
}如果我试图用滴答号包装table.name,则会得到以下错误:
Prepare failed: (1054) Unknown column 'venues.name' in 'field list'发布于 2012-05-16 21:36:38
没有参数,但您正在绑定一个参数。因此,“变量数与准备语句中的参数数不匹配”
table.name对列名完全有效,但根据实际名称,您可能需要执行以下操作:
`table`.`name`你可能要找的是:
$sql = "SELECT `table`.`name` FROM `table` WHERE country = ?";请注意,您确实应该避免后退,因为您应该避免使用实体的保留名称。
https://stackoverflow.com/questions/10627029
复制相似问题