2016-04-29 11 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の::近い()は正確に0パラメータ、
+4

エラーメッセージがクリアされています...マニュアルで期待されるパラメータを確認してください。「select_db」には2番目のパラメータが必要ですか? – Random

+0

データベースにはどこに接続しますか?すべてのメソッドのドキュメントを参照してください。http://php.net/manual/pt_BR/mysqli.query.php – cmnardi

+0

ガイドまたはPHPマニュアルをお読みください。1ºdb - 2ºselect db - 3ºクエリを実行します。 http://php.net/manual/en/mysqli.query.php最初の例を読んでください! – Cuchu

答えて

0

与えられた1を期待あなたは$playerを宣言していませんまずそれを行うべきです。 $mysqli = new mysqli("localhost", "user", "password", "database");

あなたはこのラインで次の手順を取るなかった後にクエリを実行する必要があります: select_db()機能を使用すると、このよう$mysliを使用する場合unnesisaryであるあなたがエラーから見ることができるように mysqli_query($mysqli,"INSERT INTO player (nameofplayer) VALUES ('".$addplayerv."')");

0

。 1.データベース接続があるとは思われません。

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は、()つのパラメータを必要とします...私はこのことができます願ってい

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


} 

: 2.私はそれを代わりにこの方法を行うだろう

をmysqli_するPDOを好むの名前使用しているデータベース
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($詐欺)。

これは100%で動作します。

関連する問題