Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 - Fatal编程技术网

Php 从多个复选框写入sql

Php 从多个复选框写入sql,php,mysql,Php,Mysql,我做了很多研究,找到了一些解决方案,可能对我来说不是一个令人信服的解决方案。因此我发布了这个问题,请帮助我 我有一个复选框,具有相同的名称和不同的值,如 1.cate.php sams nolkia 2.)mobile-phones-category.php 我在提交[array format]时检索复选框的值,并希望从db中搜索。我使用的是普通的mysql_查询(不是pdos) $search=$\u POST[“mobile”]; $search_string=内爆(',',$sear

我做了很多研究,找到了一些解决方案,可能对我来说不是一个令人信服的解决方案。因此我发布了这个问题,请帮助我

我有一个复选框,具有相同的名称和不同的值,如

1.cate.php

sams

nolkia

2.)mobile-phones-category.php

我在提交[array format]时检索复选框的值,并希望从db中搜索。我使用的是普通的mysql_查询(不是pdos)

$search=$\u POST[“mobile”];
$search_string=内爆(',',$search);
echo$search_字符串

在这里,我得到了类似诺基亚的产品,Sams

接下来,我编写一个sql查询
include('connection.php')

$query=mysql\u query(“从tablename中选择*,其中标题为“%$search\u string%”)或die(mysql\u error())

发生的情况是,只搜索数组中的一个值,而不是数组中的所有值。我应该做哪些更改,以便搜索所有数组元素


感谢并问候

在查询中使用
中的
关键字,而不是像

$query = mysql_query("SELECT * FROM tablename where titles IN ($search_string)" ) or die(mysql_error());
用法示例:

$query = mysql_query("SELECT * FROM tablename where titles IN ('Nokia','Sams')" ) or die(mysql_error());

这将为您提供表中标题为Nokia&Sams的记录。

正如User016所说,我还建议您使用IN语句。它搜索多个搜索词,由
分隔

你可以在那里找到文件:

您想搜索什么
Nokia
Sams
Nokia,Sams
?所有
mysql*
功能现在(不再支持/维护)并将在将来使用。您应该使用或更新您的代码,以确保将来的功能。此外,无论是
PDO
,还是
mysqli
都不会阻止自身。请继续阅读。@aman问题是,如果我检查两个值并提交,则检索到的值应包括nokia和submitsams@PLB,@cryptic,实际上我在大多数情况下都使用了prepared语句,除了这个……我在where子句中得到了错误“
未知列“nokia”
$query=mysql\u query(“在($search_string)”)或die(mysql_error());
where sell=table name中选择*FROM sell where titles,并且它不采用第二个值sams(如果我同时选择这两个值)…然后我在“where子句”中得到错误“Unknown column”nokia,您需要将字符串用单引号括起来。如答案中所示的示例。
$query=mysql\u query(“选择*从出售where titles in('$search\u string'))或die(mysql\u error())
在这里,我只能获取与诺基亚相关的价值,而不能获取与sams相关的价值