【问题标题】:search mysql database搜索mysql数据库
【发布时间】:2010-02-15 22:58:05
【问题描述】:

请帮忙,我正在尝试使用 html 表单搜索 mysql 记录以显示输入的主键的相应记录。 这是我的html表单:

<td><input type="submit" name="Submit" value="Search"></td>  

这是 new.php 表单操作:,

mysql_select_db("Hospital", $con);
   $result = mysql_query("SELECT HOSPNUM FROM t2 WHERE FIRSTNAME='{$_POST["fname"]}'");

 while($row = mysql_fetch_array($result))
 {
   <input name="hnum" type="text" id="hospnum" value="<?php echo $row['HOSPNUM']; ?>"        />
   }
mysql_close($con);
   ?>

当我输入 fname 然后单击搜索按钮时,如何在 html 输入框中显示 hospnum。

【问题讨论】:

  • 这真的可以在没有错误消息的情况下工作吗?你的整个&lt;input&gt; 标签应该被一个echo 语句包围或者将它分配给一个变量。现在你的 php 文件中只有 HTML。

标签: php mysql html


【解决方案1】:

注意:此脚本原样易受 sql-injections 攻击。下面的代码没有处理这个问题,因为它超出了原始问题的范围。 不要在生产环境中按原样使用此代码。

你在从 PHP 跳转到 HTML 时遇到了一个小问题:

<?php

   mysql_select_db("Hospital", $con) or die(mysql_error());
   $fname = $_POST["fname"];
   $result = mysql_query("SELECT HOSPNUM FROM t2 WHERE FIRSTNAME='{$fname}'");

?>

<h3>Results:</h3>

<?php while ( $row = mysql_fetch_array($result) ) { ?>

  <input type="text" name="hnum" value="<?php echo $row["HOSPNUM"]; ?>" />

<?php } ?>

【讨论】:

  • 另外需要注意的是,除非是过滤超全局变量,否则存在SQL注入漏洞。
猜你喜欢
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-08
  • 2012-04-01
  • 1970-01-01
  • 2021-01-14
相关资源
最近更新 更多