基本上我在我的数据库中设置了足球联赛桌,每个联赛桌都有它自己的数据库表,所以在一页上我有一个下拉列表。我想要的是一旦一个联赛被选中它带来了适当的联赛表...... 所以我得到这个错误.. 致命错误:调用一个非对象成员函数bind_param()从这代码..从?中选择数据库?
$sql = "SELECT * FROM ?";
$result = $db->prepare($sql);
$result->bind_param('s',$league_var);
$result->execute();
$result->bind_result(..And the rest of the code..
现在我明白的是,准备调用失败,所以它返回假 - 假的不是对象,所以你不能调用该bind_param()...它是什么ID需要做的是能够从一个变量中选择数据库?
您不能使用'bindParam()'作为表名,您将不得不以不同的方式构建查询,可能使用switch语句来获取正确的表名... –
白名单+ sprintf。 – Dan
为了详细说明上述情况,您可以绑定的唯一东西是您要插入查询中的数据,而不是结构化的东西。例如,如果你想要“where column = other_column”,并且“where column =?”然后参数化“other_column”,它会尝试比较列与字符串“other_column”,而不是实际的列“other_column”。 – Andrew