Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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
传递select值并从mysql检索数据_Mysql_Drop Down Menu_Where - Fatal编程技术网

传递select值并从mysql检索数据

传递select值并从mysql检索数据,mysql,drop-down-menu,where,Mysql,Drop Down Menu,Where,我正在处理动态页面。情况是这样的 第1页包含一个下拉菜单供我选择 选定的菜单值将传递到下一页URL 然后,页面将检索该值以比较和过滤MYSQL表字段名 该表由4个主要类别组成,这是用户在第1页中选择的选项 每个类别将存储30个单词 当用户搜索某个单词时,应该通过显示下拉列表并检查该值是否与表中字段id的值相同来请求一个选项,并且该单词现在用于缩小范围,仅在该字段中搜索,而不是在所有4个类别中搜索。 如何做到这一点?我花了几个星期的时间研究这个问题,但我无法解决它 $ret1 = "SELEC

我正在处理动态页面。情况是这样的

  • 第1页包含一个下拉菜单供我选择
  • 选定的菜单值将传递到下一页URL
  • 然后,页面将检索该值以比较和过滤MYSQL表字段名
  • 该表由4个主要类别组成,这是用户在第1页中选择的选项
  • 每个类别将存储30个单词
  • 当用户搜索某个单词时,应该通过显示下拉列表并检查该值是否与表中字段id的值相同来请求一个选项,并且该单词现在用于缩小范围,仅在该字段中搜索,而不是在所有4个类别中搜索。
如何做到这一点?我花了几个星期的时间研究这个问题,但我无法解决它

$ret1 = "SELECT * FROM $db_tb_name WHERE MATCH
 ('categoryid'='.$selectvalueid.') AND AGAINST ('%$str%' IN BOOLEAN MODE)";
我有这段代码,它有错误的语法


请有人帮我举个例子。

让我直截了当地说:在发出请求时,您有一个类别id
$selectvalueid
(由下拉列表产生)和一个搜索词
$str
(由自由文本输入产生?)。您希望表中的
categoryid
列与脚本中的
$selectvalueid
字符串完全匹配,而另一列(使用什么名称?)包含
$str
值。到目前为止这是正确的吗

如果是,您的查询可能如下所示:

SELECT * FROM $db_tb_name
WHERE categoryid = '$selectvalueid'
  AND wordcolumn LIKE '%$str%'

请注意,简单地将用户输入变量粘贴到SQL查询中很可能会使您的站点容易受到SQL注入攻击。因此,更好的方法是使用带有占位符的查询,并在执行查询时使用准备好的语句以安全的方式填充占位符。如何做到这一点取决于应用程序语言。

请特别重新表述第5点。。。存储30个单词?哪里你们可以在表格中说:)但这也是不可理解的。。请试着澄清一下。我感谢MvG的反馈。编辑后,我没有任何语法错误,但没有显示任何结果。