Ich habe eine Tabelle für Unternehmen und eine andere für Mitarbeiter. Nachdem ein Geschäft angemeldet ist, können sie Mitarbeiterkonten zuweisen. Ich machte eine Login-Funktion, um Unternehmen anzumelden und alles war gut. Um die Dinge in Ordnung zu halten, habe ich die Angestellten getrennt, die die Unternehmen zu einer anderen Tabelle hinzufügen werden. Jetzt weiß ich, dass ich zwei Anmeldeformulare für Unternehmen und eine für Angestellte erstellen kann und die Abfrage in der jeweiligen Tabelle einchecken kann, aber gibt es eine Möglichkeit, sie in einer Form zu halten und eine Abfrage zu erstellen, die überprüft, ob der Benutzername das möchte Login ist ein Geschäft oder ein Angestellter? AKA Daten von zwei Tabellen in meinem Fall holen. Ich habe diese Login-FunktionSie müssen Login-Felder aus zwei Tabellen überprüfen
function login($username, $password)
{ $db_host="localhost";
$db_username="root";
$db_password="";
$db_name="dbname";
$con=mysqli_connect($db_host, $db_username,$db_password, $db_name);
$qry = "SELECT * FROM businesses INNER JOIN employees on businesses.buss_id = employees.buss_id_fk WHERE `username` = '$username' AND `password` = '$password' AND `active` = 1 LIMIT 1";
$sql = mysqli_query($con,$qry);
while($row = mysqli_fetch_array($sql))
{
return $row;
} }
ich diesen Fehler
mysqli_fetch_array() erwartet 1 Parameter MySQLi_Result werden, boolean auf Linie 12 gegeben, die diese Zeile while ($ row ist = mysqli_fetch_array ($ sql))
Hinweis: Ich habe ein Feld in der Tabelle Unternehmen und in der Tabelle 'Ebene', wenn der Wert '3' ist, dann ist das Konto ein Mitarbeiter und wird an die Mitarbeiter-Seite geleitet. Aber die Login-Funktion scheint nicht mehr in die Schleife zu gehen. Danke!
geben 'Echo mysqli_error ($ con)' danach ... –
ich würde Rollen anstelle von zwei Tabellen. Haben Sie eine Benutzertabelle (keine Business-Tabelle), in der der Hauptbenutzer für jedes Unternehmen zusätzliche Benutzer erstellen kann, die nur eine Benutzerrolle haben. –
Ihre Abfrage schlägt wahrscheinlich fehl, versuchen Sie, die SQL-Anweisung direkt in der Datenbank auszuführen und zu sehen, was sie zurückgibt, damit wir feststellen können, wo das Problem liegt. – TopCheese