Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在sql中使用类似的内容?_Php_Mysql_Sql_Arrays - Fatal编程技术网

Php 如何在sql中使用类似的内容?

Php 如何在sql中使用类似的内容?,php,mysql,sql,arrays,Php,Mysql,Sql,Arrays,这是我的部分代码 if (!isset($_GET['jenis'])) { $jenis = [] ; } else { $jenis = $_GET['jenis']; } $sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page; <h3 class="sidebar-tit

这是我的部分代码

if (!isset($_GET['jenis'])) {
$jenis =  [] ;
} else {
$jenis = $_GET['jenis'];
}

$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;


<h3 class="sidebar-title">jenis</h3>
    <div class="sidebar-list">
        <ul>
            <li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="21" <?php if (in_array("21",$jenis))  { echo "checked"; } ?> > <a> Khusus Pria  </a> </li>
            <li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="22" <?php if (in_array("22",$jenis))  { echo "checked"; } ?> > <a> Khusus Wanita </a> </li>
            <li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="23" <?php if (in_array("23",$jenis))  { echo "checked"; } ?> > <a> Campuran </a> </li>
            <li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="24" <?php if (in_array("24",$jenis))  { echo "checked"; } ?> > <a> 2 Lantai </a> </li>
            <li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="25" <?php if (in_array("25",$jenis))  { echo "checked"; } ?> > <a> 3 Lantai </a> </li>
            <li><input type="checkbox" onclick="jenissss();" name="jenis[]" value="26" <?php if (in_array("26",$jenis))  { echo "checked"; } ?> > <a> 4 Lantai atau Lebih </a> </li>
        </ul>
    </div>
如果我单击AA,结果将显示数据1

如果我单击AA和BB,结果将显示数据1、数据3和数据5

如果单击AA、BB和DD,结果将显示数据1、数据2、数据3、数据4和数据5

如果我单击EE数据3,则会显示数据4

我希望产量会很高

$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" AND jenis LIKE IN '.$jenis.' ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;
感谢您的帮助

试试这个:

$sqlJenis = "('" . implode("','", $jenis) . "')";

$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" AND jenis IN '.$sqlJenis.' ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;
更多关于声明的信息


注意:正如@Twinfriends所说,您应该了解SQL注入(安全性)在将此代码用于实际生产之前。

如果不希望用户删除整个数据库,请首先了解SQL注入以防止它们。从规范化该架构开始,使用一个表,每个
jenis
都有一行,而不是使用逗号分隔的字符串列表。这很有效,但效果不好。例如,数据6=AA、AB、AC、AD、AE如果我只单击AC或只单击AB,它不会显示,但如果我单击AA和AB或AA和AB,它会显示sql=和jenis,如%'。$sqlJenis'%
$sqlJenis = "('" . implode("','", $jenis) . "')";

$sql= 'SELECT * FROM item WHERE nama LIKE "'.$cari.'%" AND jenis IN '.$sqlJenis.' ORDER BY '.$urutkan.' LIMIT '.$this_page_first_result.','.$results_per_page;