基本上我在我的数据库中设置了橄榄球联赛表,每个联赛表都有自己的数据库表,所以在一个页面上我有一个下拉列表。我想要的是,一旦联赛中的一个被选中,它就会带来合适的联赛桌...... 所以我得到这个错误.. 致命错误:从此代码调用非对象上的成员函数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..
现在我所理解的是,prepare-call失败了,所以它返回false - false不是一个对象,所以你不能在那个上调用bind_param()...为了能够做什么需要做什么?从变量??
中选择数据库答案 0 :(得分:1)
您不希望让用户知道表名。您可以为他们选择表格(使用不同的名称),然后使用列表将这些表格翻译成真实姓名,然后将批准的名称附加到字符串中。
if($userTableChosen=='users table')
{
$tableToUse = "tblSuffix_Users";
}
else if .....
$sql = "SELECT * FROM {$tableToUse}";
显然,使用数组或其他东西可以清理它。