通过html向mysql表添加新值


Adding new values to mysql table through html

我正试图通过我的网页将新元素添加到mysql上的数据库中。

这就是我到目前为止得到的

<form action="MyCurrentPage.php" method="post" >
<label for="playername"> Player </label>
<input type="text" name="addplayer" id="playername"/>
<input type= "submit" value="submit" name="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);
     }

?>

我得到以下错误:

  • 注意:未定义变量:player
  • 警告:mysqli::select_db()只需要1个参数,给定2个
  • 警告:mysqli::query()要求参数2为整数,对象给定
  • 警告:mysqli::close()需要0个参数,给定1个

您还没有声明$player,应该先声明。如果像这样使用$mysli,则不需要select_db()函数:$mysqli = new mysqli("localhost", "user", "password", "database");

您的查询应该在使用此行执行以下步骤后执行:mysqli_query($mysqli,"INSERT INTO player (nameofplayer) VALUES ('".$addplayerv."')");

您可以从错误中看到;1.你似乎没有数据库连接。2.比起mysqli_,更喜欢PDO

我会这样做:

<?php
//DATABASE CONNECTION CONFIGURATION:
defined("HOST")     or define("HOST",   "localhost");           //REPLACE WITH YOUR DB-HOST
defined("DBASE")    or define("DBASE",  "my_database");         //REPLACE WITH YOUR DB NAME
defined("USER")     or define("USER",   "root");                //REPLACE WITH YOUR DB-USER
defined("PASS")     or define("PASS",   "root");                //REPLACE WITH YOUR DB-PASS

if (isset($_POST['submit'])) {
    $playerName     = htmlspecialchars(trim($_POST['addplayer']));  //PROTECT AGAINST ATTACKS
    try {
        $dbh        = new PDO('mysql:host='.HOST.';dbname='. DBASE,USER,PASS);
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $stmt       = $dbh->prepare("INSERT INTO player (nameofplayer) VALUES (:name)");
        $stmt->bindParam(':name', $playerName);
        $stmt->execute();
        //GARBAGE COLLECTION 
        $dbh        = null;
    }catch(PDOException $e){
        echo $e->getMessage();
    }

}

我希望这能帮助。。。

<?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()不需要任何参数。

使用此代码:-

$con=mysqli_connect($host,$username,$password,$dbname);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();}
if (isset($_POST['submit'])) 
{
$addplayerv=$_POST['addplayer'];
mysqli_select_db($con,"player");
$sql="INSERT INTO player (nameofplayer) VALUES ('".$addplayerv."')";
mysqli_query($con,$sql);

}mysqli_close($con);

这将100%有效。