Wie ich in den Kommentaren sagte, ist Ihre Syntax ungültig. Eine WHERE
Klausel verwendet AND
oder OR
als Trennzeichen, nicht Kommas.
Also, was Sie hier tun müssen, ist, Ihre Abfrage einstellen und vergleichen sie danach:
Nebenbei bemerkt: Sie müssen möglicherweise zusätzliche Spalten der SELECT hinzuzufügen wie können Sie eine undefinierte Mitteilung Offset werfen. Stellen Sie außerdem sicher, dass Ihr LIMIT-Wert von 2 bei Ihnen fehlschlägt, wenn Sie mehr als 2 Zeilen haben.
$sql = "SELECT id FROM users WHERE username='$user1' OR username='$user2' LIMIT 2";
$query = mysqli_query($con, $sql);
$row = mysqli_fetch_row($query);
$id1 = $row[0];
$id2 = $row[1];
if($user1 == $id1) {
echo "User 1 is the same ";
}
if($user2 == $id2) {
echo "User 2 is the same";
}
Referenzen:
Wie pro Ihre edit:
kann ich nach Username verwenden ORDER = '$ user1'
Nein, müssen Sie ORDER by column_name
verwenden, und nicht eine „gleich“ und eine Variable.
Wenn Ihr Spaltenname mit der Variablen übereinstimmt, dann ist das möglich, aber ich werde das nicht sicher wissen, bis Ihr Datenbankschema/Inhalt bekannt ist.
Die Syntax ist:
ORDER BY column
nimmt ASC
oder DESC
in der Größenordnung ab, die Sie wollen.
Referenz:
Wenn Ihre Abfrage ein Eingreifen des Benutzers/Eingang hat, müssen Sie eine vorbereitete Anweisung verwenden, da, dass Sie zu einer SQL offen lassen würde Injektion.
Referenzen:
Erstens Syntax Ihre Abfrage ist ungültig. RTMs http://dev.mysql.com/doc/refman/5.7/en/select.html - http://dev.mysql.com/doc/refman/5.7/de/where-optimizations.html –