如何将用户输入放入SQL查询

时间:2014-10-24 03:23:01

标签: php mysql

我有一个数据库,我希望用户能够输入结果。即

Select from Table where example = user input from box **(input by the user)**

我猜我需要的是一个变量来保存然后进入语句的值。我知道如何使用脚本从输入框中获取值,但我可以使用它:

选择*来自切换WHERE hdate = variable。但是,我猜有人会跟我谈谈安全问题,如果可能的话。

<html><body>

<input>User input</input> //That needs to go into statement


  <?php
 include 'config.php';

$result = mysqli_query($con,"SELECT * FROM handover WHERE hdate = **user input**;");

 echo "<table border='1'>
   <tr>
 <th>hdate</th>
 <th>Delay</th>
 <th>Health and Safety</th>
 <th>Non Vsa</th>
 <th>VSA</th>
 <th>Dar</th>
 <th>Other</th>
<th>Hour</th>
</tr>";

    while($row = mysqli_fetch_array($result)) {
   echo "<tr>";
   echo "<td>" . $row['hdate'] . "</td>";
   echo "<td>" . $row['hdelay'] . "</td>";
   echo "<td>" . $row['hs'] . "</td>";
   echo "<td>" . $row['nv'] . "</td>";
   echo "<td>" . $row['vsa'] . "</td>";
   echo "<td>" . $row['dar'] . "</td>";
   echo "<td>" . $row['other'] . "</td>";
   echo "<td>" . $row['hour'] . "</td>";
   echo "</tr>";
 }

echo "</table>";

mysqli_close($con);
?>

欢迎提供任何帮助,并提供最佳语言建议。

亲切的问候

Fintan

1 个答案:

答案 0 :(得分:0)

首先,这个问题与javascript&amp; amp;阿贾克斯。所以你可以删除那些标签。

你想从mysql中显示/搜索数据。

$result = mysqli_query($con,"SELECT * FROM handover WHERE hdate = '".$_POST['abc']."' ");

这是您想要检查hdate列是否具有用户输入的确切数据($ _POST ['abc'])。

也不要忘记使用mysqli_real_escape_string

您可以从这里学习常见的mysql模式查询:http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html