根据表单中的用户输入创建数据库查询?

时间:2011-08-11 15:38:39

标签: php mysql html-form

我有一个HTML表单,允许用户编写他们想要搜索的内容。在这种情况下,名称。

表单有效,但它在php中。我不知道我要编写什么来让MySQL在数据库中搜索用户输入的内容。

以下是我被困的行:

$result = mysql_query("SELECT * FROM {$table} WHERE name = 'What do i gonna write
here? (take away the ' ");

我正在使用PHP 5.

2 个答案:

答案 0 :(得分:1)

这应该让你使用mysqli。可以找到手册here

这假设您正在发布表单,否则您可以将$ _POST更改为您将使用的任何请求变量。在调用mysqli_real_escape_string之前或之后对表单变量进行一些完整性检查在生产环境中也非常有用(必需)。

$db = new mysqli("localhost","user","password","database");

if(mysqli_connect_error())
{
    printf("Connection failed:%s \n",mysqli_connect_error());
    exit();
}

$name = mysqli_real_escape_string($db, $_POST['search']);
$table = 'some_table';

if($result = $db->query("SELECT * FROM $table WHERE name = $name", MYSQLI_ASSOC))
{
    while($row = $result->fetch_object())
    {
        // $row is an associative array
        // Do something here
    }
}
$db->close();

答案 1 :(得分:-1)

$sf = stripslashes($_REQUEST['search']);
$sf = mysql_real_escape_string($sf);


$result = mysql_query("SELECT * FROM {$table} WHERE name = '". $sf."'");
while($row = mysql_fetch_array($result)){
    //do stuff
}