根据用户输入的SQL从数据库填充字段


Populate fields from database based on user input SQL

我有一个表单,用户在其中输入他们的ID,然后从数据库中填充他们的名称?有一个完整的表单,我刚刚复制了相关部分和下面的sql。

User ID: <input value="User ID" name="user_id">
$sql = "SELECT user_firstname, user_surname FROM users_tbl WHERE xxxx = users_tbl.user_id"
$result = pg_query($sql);

我已经做到了这一点,但我不知道该怎么办。

您应该过滤GET或POST表单变量。所以正确的方法是:

$sql = "SELECT user_firstname, user_surname FROM users_tbl WHERE users_tbl.user_id= ".$_POST['user_id'];
$result = pg_query($sql);

另外,不要忘记从sql注入中筛选POST和GET变量

您可能想要这样的东西。。。

page1.php

<form method="POST" action="page2.php">
User ID: <input name="user_id" value="User ID">
<input type="submit" value="go">
</form>

page2.php

$id = mysql_escape_string( $_POST['user_id'] );
$sql = "SELECT `user_firstname`, `user_surname` FROM `users_tbl `WHERE `id` = '$id' LIMIT 1";
...