【问题标题】:Get and insert Data into MySQL database using PHP with xampp on localhost使用 PHP 和本地主机上的 xampp 获取数据并将其插入 MySQL 数据库
【发布时间】:2016-08-07 09:20:16
【问题描述】:

我已成功连接到数据库,并设法使用以下代码插入。

<?php

$username = 'root';
$password = '';
$db = 'demo';

$conn = new mysqli ('localhost',$username, $password, $db) or die("unable to connect");

$sql="insert into persons (first_name,last_name,email_address) values ('sara','smith','email@email.com')";
$query=mysqli_query($conn,$sql);
if($query)
    echo 'data inserted';
?>

但问题是当我尝试使用 HTML 表单输入数据时,它对我不起作用。我试图在 stackoverflow 上遵循不同的教程和不同的答案。谁能告诉我使用 PHP 从 MySQL 插入和获取数据的最简单方法?

如果有任何简单的教程或博客可以让我学习和理解这一切,我很乐意观看或阅读。

【问题讨论】:

标签: php mysql database mysqli


【解决方案1】:

我设法通过以下方式做到这一点。

使用以下代码创建文件名 index.php

<!DOCTYPE html>
<html lang="en">    
<head>
<meta charset="UTF-8">    
<title>Add Record Form</title>
</head>

<body>
<form action="insert.php" method="post">

    <p>
        <label for="firstName">First Name:</label>
        <input type="text" name="firstname" id="firstName">    
    </p>

    <p>
        <label for="lastName">Last Name:</label>
        <input type="text" name="lastname" id="lastName">    
    </p>

    <p>    
        <label for="emailAddress">Email Address:</label>
        <input type="text" name="email" id="emailAddress">    
    </p>

    <input type="submit" value="Submit">
</form>
</body>
</html>

然后创建另一个文件名为 insert.php

<?php

    /* Attempt MySQL server connection. Assuming you are running MySQL
    server with default setting (user 'root' with no password) */

    $link = mysqli_connect("localhost", "root", "", "demo");

    // Check connection

    if($link === false){
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }

    // Escape user inputs for security
    $first_name = mysqli_real_escape_string($link, $_POST['firstname']);
    $last_name = mysqli_real_escape_string($link, $_POST['lastname']);
    $email_address = mysqli_real_escape_string($link, $_POST['email']);

    // attempt insert query execution
    $sql = "INSERT INTO persons (first_name, last_name, email_address) VALUES ('$first_name', '$last_name', '$email_address')";

    if(mysqli_query($link, $sql)){
        echo "Records added successfully.";
    } else{
        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
    }

    // close connection
    mysqli_close($link);
?>

【讨论】:

    【解决方案2】:

    //程序风格

    $mysqli =  mysqli_connect('host','username','password','database_name');
    

    //输出任何连接错误

    if ($mysqli->connect_error) {
    
    die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
    
    }
    

    //插入记录

    $product_code = '"'.$mysqli->real_escape_string('P1234').'"';
    $product_name = '"'.$mysqli->real_escape_string('42 inch TV').'"';
    $product_price = '"'.$mysqli->real_escape_string('600').'"';
    

    //MySqli 插入查询

    $insert_row = $mysqli->query("INSERT INTO products (product_code, product_name, price) VALUES($product_code, $product_name, $product_price)");
    
    if($insert_row){
    print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />'; 
    }else{
    die('Error : ('. $mysqli->errno .') '. $mysqli->error);
    }
    

    【讨论】:

      【解决方案3】:

      使用带有 POST 方法的 HTML 表单将用户输入的数据插入数据库的快速且未经测试的示例。

      <?php
      
          $result = false;
      
          $dbhost = 'localhost';
          $username = 'root';
          $password = '';
          $db = 'demo';
      
          if( $_SERVER['REQUEST_METHOD']=='POST' ){
      
              $conn = new mysqli ( $dbhost,$username, $password, $db );
              if( $conn ){
      
                  $sql='insert into `persons` ( `first_name`,`last_name`,`email_address` ) values (?,?,?);';
                  $stmt=$conn->prepare( $sql );
                  $stmt->bind_param('sss', $_POST['firstname'], $_POST['lastname'], $_POST['email'] );
                  $result = $stmt->execute();
      
              }
              $conn->close();
          }
      
      ?>
      <!doctype html>
      <html>
          <head>
              <title>Simple Form submission example</title>
          </head>
          <body>
              <form method='post'>
                  <input type='text' name='firstname' />
                  <input type='text' name='lastname' />
                  <input type='text' name='email' />
      
                  <input type='submit' value='Submit' />
      
                  <?php
                      echo $result ? '<div>The database was updated</div>' : '';
                  ?>
              </form>
          </body>
      </html>
      

      【讨论】:

        【解决方案4】:

        试试tutspluslynda,给你最好的补习!

        【讨论】:

        • 要求我们推荐一本书或教程的问题与 SO 无关。您应该改为标记用户问题。
        猜你喜欢
        • 1970-01-01
        • 2017-06-25
        • 2017-09-15
        • 1970-01-01
        • 2018-05-30
        • 2015-03-25
        • 2016-11-17
        • 2018-06-23
        • 1970-01-01
        相关资源
        最近更新 更多