我正试图通过我的网页将新元素添加到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%有效。