我想創建一個登錄函數,它允許我指定要從哪個表中選擇數據,以及我想要選擇的字段。 我已經設法將表值傳遞給函數,並從所需的表中選擇數據,但我的表具有不同的字段。如何在查詢中指定一個表select:user_id,user_first_name,user_password,或者如果它是其他表select select member_id,member_first_name,member_password。查詢:從特定表中選擇特定的字段
這是我迄今編碼:
public function logIn($id, $password, $table){
$dataArray = array();
$t = ($table === 'employers') ? 'employers' : 'members');
$query = "SELECT user_id, user_first_name, user_password FROM $t";
$stmt = $this->link->prepare($query);
if ($stmt->execute())
{
$result = $stmt->get_result();
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
$dbuser_id = $row['user_id'];
$dbpassword = $row['user_password'];
$dbuser_first_name = $row['user_first_name'];
}
//and so on...
此外,一個快速的問題:這是一個不好的編程習慣,還是應該有2個登陸(會員和用戶)?
謝謝:)
而不只是'如果($ stmt->的execute())'做'如果(! $ stmt-> execute()){trigger_error(「出現錯誤....」。$ this-> link-> error,E_USER_WARNING);}'並得到真正的錯誤,如果存在的話。 –
@ Fred-ii-感謝您的提示,之後我即將進行錯誤檢查。 – Otonel
您可以在'$ table'上使用'switch',然後將所需的表和列設置爲變量並將它們放入查詢中。 – chris85