【发布时间】:2012-08-24 16:58:33
【问题描述】:
继我之前提出的一个问题之后(得到了非常有帮助的回答 - 谢谢),我有一个后续问题。
我设法将一个表单放入我的页面,该表单成功链接到具有过滤结果的另一个页面。然后我在下面直接添加了另一个表单(作为第二个搜索过滤器),但第二个表单不起作用。代码是:
<p style="margin-left:20px;">Search by:<br />
<form action="ordersfiltered.php" method="post">
order_no: <input type="int" name="order_no" />
<input type="Submit" />
</form>
<form action="ordersfiltered_name.php" method="post">
name: <input type="text" name="name" />
<input type="Submit" />
</form></p>
就像我说的,如果我在第一个框中输入 order_no 并单击“提交”,那么我会进入另一个页面,并相应地过滤结果。但是,当我在第二个框中输入名称时,我得到的页面包含所有表格标题等,但没有结果。作为参考,我在“ordersfiltered.php”页面上的相关代码是:
$result = mysql_query("SELECT * FROM orders WHERE order_no = " . $_POST["order_no"]);
(注意,我意识到我不应该使用 SELECT * - 它在我要更改的列表中)。这很好用。
我在“ordersfiltered_name.php”上的代码是:
$result = mysql_query("SELECT * FROM orders WHERE name = " . $_POST["name"]);
任何想法为什么第一个有效但第二个无效?
另外 - 如果可能的话,我想修改它添加类似 WHERE name LIKE '%...%' 的内容,以防用户没有输入整个内容。
再次感谢。
【问题讨论】:
-
这可能无助于回答您的问题,但您应该停止使用
mysql_*函数。它们正在被弃用。请改用PDO(PHP 5.1 起支持)或mysqli(PHP 4.1 起支持)。如果您不确定要使用哪一个,read this article. -
@Matt 我认为您对上一个问题发表了完全相同的评论...
-
他只是在宣传……干得好! (去 PDO)
-
@jeroen 是的,我潜伏着回答我能回答的问题,并指出人们何时使用过时的功能。我来这里是为了荣耀。我实际上已经在记事本中写下了评论,所以当需要时,我只是复制/粘贴。
-
请阅读并遵循您在其他问题中给出的建议。不断犯同样的错误并不断要求我们告诉你如何解决它是没有意义的。