【问题标题】:Add new elements to mysql with html使用 html 向 mysql 添加新元素
【发布时间】:2016-04-29 21:07:31
【问题描述】:

我正在尝试通过我的网页向我的 mysql 数据库中添加新元素。

这就是我目前所得到的

<form action="MyCurrentPage.php" method="post" >
   <label for="playername"> Player </label>
   <input type="text" name="addplayer" id="playername"/>
   <input type= "submit" value="submit" />
</form>

还有这个

<?php
     if (isset($_POST['submit'])) {
        $addplayerv=$_POST['addplayer'];
        $mysqli->select_db("player", $player);

        $sql="INSERT INTO player (nameofplayer) VALUES ('".$addplayerv."')";
        $mysqli->query($sql, $mysqli);
        $mysqli->close($mysqli);
     }

?>

问题在于它没有更新任何内容,我也没有收到任何错误。

【问题讨论】:

  • 你没有在提交按钮中取name属性
  • 危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。
  • 你的数据库名和你的表名一样吗??

标签: php html mysql css


【解决方案1】:
 if (isset($_POST['submit'])) {

只有当表单提交一个名为submit 的控件时,您才会处理数据。

您无法控制该名称(提交按钮的 typevaluesubmit,但它没有名称。

为提交按钮命名。

【讨论】:

  • 我这样做了,但现在它给了我这个错误:未定义的变量:播放器(在 select_db 行上)mysqli::select_db() 需要 1 个参数,mysqli::query() 需要 2 个参数参数 2 为整数,给定的对象 mysqli::close() 期望正好 0 个参数,1 个给定
  • 但是“玩家”是我的数据库的名称,并且与 mysql 的连接很好,我不知道为什么会出现这个错误。
  • @user12654809 — 是的,"player" 在数据库的名称中。 $player 是一个未定义的变量,用作函数的第二个参数,该函数一开始只接受一个参数。
【解决方案2】:

缺少提交输入名称 你的输入应该是这样的

<input type= "submit" value="submit" name="submit" />

您的数据库连接在 select_db() 中传递了两个参数,这是错误的 你必须传递一个参数。 应该是这样的

$player="player";

 $mysqli->select_db($player);

【讨论】:

    【解决方案3】:
    <?php
        if (isset($_POST['submit'])) {
            $addplayerv=$_POST['addplayer'];
            $mysqli->select_db("player");
    
            $sql="INSERT INTO player (nameofplayer) VALUES ('".$addplayerv."')";
            $mysqli->query($sql);
            $mysqli->close();
        }
    ?>
    

    select_db() 需要一个参数:您正在使用的数据库的名称。
    query() 只需要 sql 查询。
    close() 不需要任何参数。

    【讨论】:

      【解决方案4】:

      请在提交表单上添加属性名称。因为如果你没有提到 name 属性,那么你要发布的数据不会进入你在 PHP 标签下写的条件。

      请用以下代码更改 HTML:

      <form action="MyCurrentPage.php" method="post" >
      <label for="playername"> Player </label>
      <input type="text" name="addplayer" id="playername"/>
      <input type= "submit" name="submit" value="submit" />
      </form>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多