我有一个带有复选框的表格,该复选框带有三个选项,即'A'
,'B'
和'C'
。我需要构建一个SELECT
语句来从数据库表X中获取数据,为此,WHERE
子句可以是WHERE field1 IN ('A','B','C')
或它可以是任何值,即{{1} }等。
对于如何继续执行WHERE field1 = 'A'
语句,我有些困惑。
请让我知道是否需要更多详细信息以了解问题。
我的复选框的代码,格式为:
SELECT
SELECT语句基本上像:
<input type="checkbox" name="gender[]" value="Male" id="Male"> Male
<input type="checkbox" name="gender[]" value="Female" id="Female"> Female
<input type="checkbox" name="gender[]" value="Other" id="Other"> Other
或者可能是
SELECT field1,field2,field3
FROM X
WHERE field1 IN('A','B','C')
答案 0 :(得分:-1)
我不太了解您实际上想在那里做什么,但是正如评论已经说过的那样,不要将用户输入直接放入mysql查询中。 据我了解,这可能会有所帮助:
如果您不知道如何与pdo建立连接:https://www.php.net/manual/en/pdo.connections.php
$stmt = $pdo->prepare(SELECT field1,field2,field3 FROM X WHERE field1 = :a OR field1 = :b OR field1 = :c);
$stmt->execute(['a'=> $aVariable,'b'=> $bVariable,'c'=>$cVariable]); //Here you bind the data from your form to the parameters of the select query.
$row = $stmt->fetch(); //This is the result of the mysql query with the data of the table
答案 1 :(得分:-3)
尝试一下:
$sql = "SELECT * FROM table WHERE field IN ('".implode("','", $_POST['gender'])."')";
这是构建查询的方式,但是强烈建议您在构建查询之前清理$ _POST数组的内容,因为您可能容易受到SQL注入的攻击。</ p>