php - 仅在 mysql 数据库中插入一次。

标签 php html mysql database

我有以下代码将数据添加到我的数据库。一切似乎都工作正常,但是它只向数据库添加一次,之后它告诉我数据已正确保存到数据库中,但是当您想检查它是否已添加时,我可以看到它还没有被添加。

插入.php

<?php   
            session_start();
            $server = "";
            $user_name = "";
            $password = "";
            $database = "";
            $id = $_SESSION['id'];
            $res_name = $_SESSION['username'];

            $db_handle = mysql_connect($server, $user_name, $password);
            $db_found = mysql_select_db($database, $db_handle);
            if ($db_found) {
                $SQL = "INSERT INTO [db_table] (ID,name,category,dish_name,explanation,ingredients,price) 
                VALUES ('$id','$res_name','$_POST[cat]','$_POST[dname]','$_POST[about]','$_POST[ing]','$_POST[num]')";
                $result = mysql_query($SQL);

                mysql_close($db_handle);

                print "Records added to the database";
                echo "<BR>";
                echo "<a href='newitem.php'>Back to main page</a>";

            }
            else {
                mysql_close($db_handle);
            }
          ?>

以我的 html 形式:

<form class="form-inline" action="inser.php" method="post">
    <input type="text" id="dname" name="dname" class="input-medium" placeholder="Dish Name">
    <?php
    $server = "";
    $user_name = "";
    $password = "";
    $database = "";
    $id = $_SESSION['id'];
    $res_name = $_SESSION['username'];
    $_SESSION['id'] = $id;
    $db_handle = mysql_connect($server, $user_name, $password);
    $db_found = mysql_select_db($database, $db_handle);
    if ($db_found) {

        $SQL = "SELECT category from Category where Rest_ID = '".$id."'";           
        $result = mysql_query($SQL,$db_handle) or die(mysql_error());
        $i = 0;
        echo "<select id='cat' name='cat'> <option selected='selected'>Select</option>";
        while($row = mysql_fetch_array($result)){
            $i = $i + 1;
            echo "<option>".$i.". $row[category]</option>";
        }
        echo '</SELECT>';
    }
    else {
        mysql_close($db_handle);
    }
    //echo $id;
    ?>
    <input type="text" id="ing" name="ing" class="input-medium" placeholder="Ingredients">
    <input type="text" id="about" name="about" class="input-medium" placeholder="About this food">
    <input type="number" id="num" name="num" class="input-medium" onkeypress="return isNumberKey(event)" placeholder="Price">
    <button type="submit" class="btn btn-success">Add</button>
  </form>

我似乎无法找出问题所在。

最佳答案

我相信“id”是表的主字段,并且您尝试将相同的记录插入到表中。所以它不会将记录插入到表中。如果您想使用新值修改记录,请尝试通过检查记录已存在等条件来更新查询。

如果你使用下面的一个,你可以跟踪mysql错误。

mysql_query($sql) 或 die($sql . mysql_error());

关于php - 仅在 mysql 数据库中插入一次。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17655211/

相关文章:

PHP/SQL 从数据库中选择 id 列表并在查询中使用它

php - 使用 Zend Framework 进行文件上传和单元测试

javascript - 无法使用JS访问svg中的元素

html - 如何在绝对定位元素之间应用水平空间

c# - IF 语句查询语法错误

java - 错误 : Client does not support authentication protocol requested by server; consider upgrading MySQL client

php - 如果没有 GROUP BY 子句,没有 GROUP 列的 MySQl 错误 : #1140 - Mixing of GROUP columns (MIN(), MAX(),COUNT(),...) 是非法的

php - 将参数传递给 cakephp 3.x 中的自定义 find 方法

javascript - JavaScript 中的 Onclick 事件

php mysql 搜索只给出 1 个结果