在 PHP 中的 SQL 查询中从文本框传递值


pass value from textbox in sql query in php

所以,我试图通过从textblock(html)获取名称来显示使用电影名称movie_id的值。但是显示的页面是空白的,如果我在查询中手动添加一个名称,例如 name="skyfall" 而不是变量,则会显示结果。

include './connection.php';
$movie_tf=$_POST['movie_tf'];
$getMovieIdQuery="SELECT movie_id FROM MOVIE WHERE name='$movie_tf'";
$query=  mysql_query($getMovieIdQuery);
if (!$query){
    echo 'error' .  mysql_error($dbconn);
}
    $getMovieIdQueryFetchRow=  mysql_fetch_row($query);
    echo $getMovieIdQueryFetchRow[0];

mysql_close($dbconn);

网页表单:

<form action="operations.php" method="GET">
            Movie:<input type="text" name="movie_tf"/> </br>
            <input type="submit" value="submit"/>
        </form>

您正在将method="GET"用于表单,然后是 POST 数组$_POST['movie_tf']

使用method="post"

或者$_GET['movie_tf']选择权在您手中。

  • 方法和数组类型必须匹配。

奇怪的是,你也不会因此而出错。

  • 我曾经以艰难的方式吸取过这一教训。

您当前的代码对SQL注入开放。将 mysqli_* 与预准备语句一起使用,或将 PDO预准备语句一起使用。