传递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的反馈。编辑后,我没有任何语法错误,但没有显示任何结果。