msqli select 来自 table 其中 a =1 或 a =2

msqli select from table where a =1 or a =2

寻找 Where 和 In 子句的正确用法。如果这不正确,你能告诉我正确的使用方法吗

    mysqli_query=($connection,"select * from tablename where a=1 or a=2 and c=1 and d=2);

我正在尝试使用 in 子句以这种方式进行查询

    mysqli_query=($connection,"select * from tablename where a in(1,2) and c=1 and d=2);

当您在 a 中查找多个值时,这是使用 where 和 In 的正确方法吗?

非常感谢 P

首先,不要直接在查询中输入值,如果这些值来自用户输入,您将 SQL Injection vulnerabilities and/or 更容易出错。

其次,你的IN子句是正确的,看看MySql手册here。 使用 Mysqli 你应该准备你的语句,这样它们才能正确转义,这样:

$stmt = $mysqli->prepare("SELECT * FROM tablename WHERE a IN(?,?) and c=? and d=?")
$stmt->bind_param("iiii", 1, 2, 1, 2);
$stmt->execute();

看看关于 prepare 语句的整个 mysqli 手册 here