2016-04-29 32 views
-1

我想通過我的網頁在mysql上的數據庫中添加新元素。通過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); 
    } 


?> 

我收到以下錯誤:

  • 注意:未定義的變量:玩家
  • 警告:mysqli :: select_db()只需要1個參數,2給出
  • 警告:mysqli的查詢::()預計參數2是整數,對象 給出
  • 警告:mysqli的:: close()方法期望的是0參數1中給出
+4

錯誤消息已清除...查看手冊以查看期望的參數是什麼...您在哪裏發現'select_db'需要第二個參數? – Random

+0

你在哪裏連接數據庫?請參閱每種方法的文檔http://php.net/manual/pt_BR/mysqli.query.php – cmnardi

+0

閱讀指南或PHP手冊..1º連接到數據庫 - 2º選擇數據庫 - 3º執行查詢。 http://php.net/manual/en/mysqli.query.php閱讀第一個例子! – Cuchu

回答

0

您還沒有宣佈$player你應該先做。如果你使用$mysli這樣 的select_db()功能unnesisary: $mysqli = new mysqli("localhost", "user", "password", "database");

你沒有采取這些措施與這條線後您的查詢應執行: mysqli_query($mysqli,"INSERT INTO player (nameofplayer) VALUES ('".$addplayerv."')");

0

你可以從錯誤中看到; 1.看起來你沒有數據庫連接。 2.身高PDO來mysqli_

我會做它,而不是這樣:

<?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(); 
    } 


} 

我希望這有助於...

0
<?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()不指望任何參數。

0

使用此代碼: -

$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%。