通过使用HTML表单插入ID

时间:2017-01-30 22:40:56

标签: php html sql web

我有一个快速查询,涉及使用PHP结合html表单在数据库中插入外键id。

Comment_ID PK Name Comment_Body Recipe_ID FK 的我的数据库设置如下:

recipes

Recipe_ID PK Recipe_Name Recipe_Description Method

      *<input  type="hidden" class="form-control"  name="Recipe_ID" autofocus value=<?php echo $row["Recipe_ID"];   ?>    readonly>
Name: <input type="text" class="form-control" name="name" required autofocus> 
Comment: <input type="text" class="form-control" name="comment_body" required autofocus> </br>*

HTML / PHP:

if(isset($_POST["name"])){

    $name = $_POST["name"];
    $name = mysqli_real_escape_string($con, $name);
}
    if(isset($_POST["comment_body"])){

    $comment = $_POST["comment_body"];
    $comment = mysqli_real_escape_string($con, $comment);
}
if(isset($_POST["Recipe_ID"])){

    $rid = $_POST["Recipe_ID"];
    $rid = mysqli_real_escape_string($con, $rid);
}

$sql = "INSERT INTO comment (name, comment_body, Recipe_ID) VALUES 
('$name', '$comment', '$rid')";

从表单发布的脚本

$id = $_GET["Recipe_ID"];*
         *$sqlcomment = "SELECT * FROM comment WHERE Recipe_ID = '". $id . "'"; 
         $commentsresult = mysqli_query($con, $sqlcomment);
         $row = mysqli_fetch_assoc($commentsresult);*

PHP变量和SQL:

Recipe_ID

查看该食谱时,将显示与{{1}} 1相关的所有评论。

HTML表单不会发布Recipe_ID,因为在查看特定食谱页面时找不到ID。

如何使用HTML表单向数据库发布特定ID?这是在我的设计中为各种食谱创建注释的合适方法吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您的表单应使用$ id(或$ _GET [“Recipe_ID”]),而不是$ row [“Recipe_ID”]。如果用于获取注释的SQL没有返回任何行,则根本就没有$ row [“Recipe_ID”]。

同时您已将所需的ID传递到页面中。我假设它作为POST参数传递 - 这就是你构造SQL语句的方式。

所以请尝试以下表格:

<input  type="hidden" name="Recipe_ID" autofocus value=<?php echo $id; ?>