[英]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
你应该先这样做。 如果您像这样使用$mysli
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% 工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.