2017-01-16 4 views
1

を使用してMySQLにHTMLフォームからのデータを入力します。は、私は、フォームからMYSQLデータベースに入力されたデータへのPHPを使用して、いくつかの問題を抱えていますPHPのエラー

VALUES ('Jake', 'Doe', '[email protected]')";

をし、それが動作します:私はファイルが含まれていると私はちょうど言及したいの下には、私は、以前の値を変更することで、データを入力しました。

のindex.php

<?php include 'assets/header.php';$title='Home Page';?> 
     <div class="context"> 
      <form action="connect_to_mysql.php" method="post"> 
       <label>First Name:</label> 
       <input type="text" name="first_name" id="fist_name" required="required" placeholder="Please Enter First Name"/><br /><br /> 
       <label>Last Name:</label> 
       <input type="text" name="last_name" id="last_name" required="required" placeholder="Please Enter Your Last Name"/><br/><br /> 
       <label>Email:</label> 
       <input type="email" name="email" id="email" required="required" placeholder="Please Enter Your Email"/><br/><br /> 
       <input type="submit"> 
      </form> 

    </div> 
    <?php include 'assets/footer.php';?> 

connect_to_mysql.php

<?php 
     $servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $dbname = "test"; 

     // Create connection 
     $conn = new mysqli($servername, $username, $password, $dbname); 
     // Check connection 
     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 

     $first_name = mysql_real_escape_string($_POST['first_name']); 
     $last_name = mysql_real_escape_string($_POST['last_name']); 
     $email = mysql_real_escape_string($_POST['email']); 

     $sql = "INSERT INTO hello_world (firstname, lastname, email) 
     VALUES ('.$first_name', '.$last_name', '.$email')"; 

     if ($conn->query($sql) === TRUE) { 
      echo "New record created successfully"; 
     } else { 
      echo "Error: " . $sql . "<br>" . $conn->error; 
     } 

     $conn->close(); 

?> 

エラー:

Fatal error: Uncaught Error: Call to undefined function mysql_real_escape_string() in E:\XAMPP\htdocs\mysql\connect_to_mysql.php:14 Stack trace: #0 {main} thrown in E:\XAMPP\htdocs\mysql\connect_to_mysql.php on line 14

+1

PHP 7を使用していますか?もしそうなら、 'mysql *'関数はすべて削除されているので、 'mysql_real_escape_string'が" Undefined function "エラーを引き起こします。既に 'mysqli'を使用しているので、代わりに' mysqli_real_escape_string'関数を使うことを検討してください(実際には、mysql *関数を使用しないでください)。 – roberto06

+0

また、二重引用符で連結しません。現在のところ、あなたのファーストネーム、ラストネーム、そして電子メールには全て '.'が付いています。 [私はPHPでのMySQL APIをミックスすることはできますか?]の – chris85

+0

可能な複製(http://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis-in-php) – chris85

答えて

-1

使用このコードとエラーがまだアップ 注意が来るかどうかを確認:このコードはありますPDOクラスによる接続

<?php 
      $servername = "localhost"; 
      $username = "root"; 
      $password = ""; 
      $dbname = "test"; 

      // Create connection 
      $conn = new PDO('mysql:host='.$servername.';dbname='.$dbname.';', $username, $password); 

      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

      $first_name = mysql_real_escape_string($_POST['first_name']); 
      $last_name = mysql_real_escape_string($_POST['last_name']); 
      $email = mysql_real_escape_string($_POST['email']); 

      $sql = $conn->prepare(" 
       INSERT INTO hello_world(first_name, lastname, email) 
       VALUES (:firstname, :lastname, :email) 
      "); 
      $sql->execute([ 
       'firstname' => $firstname, 
       'lastname' => $lastname, 
       'email' => $email 
      ]); 

      if ($sql->rowCount() > 0) { 
       echo "New record created successfully"; 
      } 
      else 
      { 
       //error message 
      } 

    ?> 
関連する問題