基本上我在我的數據庫中設置了足球聯賽桌,每個聯賽桌都有它自己的數據庫表,所以在一頁上我有一個下拉列表。我想要的是一旦一個聯賽被選中它帶來了適當的聯賽表...... 所以我得到這個錯誤.. 致命錯誤:調用一個非對象成員函數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