php 将数据插入 MySQL 数据库


通过 PHP 函数 mysql_query 执行 SQL 的 INSERT 语句,可以将数据输入到 MySQL 表中。下面是一个将记录插入 employee 表的简单示例。

例子

尝试以下示例将记录插入 employee 表中。


<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('无法连接t: ' . mysql_error());
   }
   
   $sql = 'INSERT INTO employee '.
      '(emp_name,emp_address, emp_salary, join_date) '.
      'VALUES ( "guest", "XYZ", 2000, NOW() )';
      
   mysql_select_db('test_db');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('无法输入数据: ' . mysql_error());
   }
   
   echo "数据输入成功\n";
   
   mysql_close($conn);
?>

在实际应用中,所有值都将使用 HTML 格式获取,然后使用 PHP 脚本捕获这些值,最后将它们插入到 MySQL 表中。

在执行 data insert 时,其最佳实践是使用函数 get_magic_quotes_gpc() 来检查是否设置了魔术引号的当前配置。如果此函数返回 false,则使用函数 addslashes() 在引号前添加斜杠。

例子

通过将此代码放入 add_employee.php 来尝试此示例,这将使用 HTML 表单进行输入,然后将记录创建到数据库中。


<html>
   <head>
      <title>在MySQL数据库中添加新记录</title>
   </head>
   
   <body>
      <?php
         if(isset($_POST['add'])) {
            $dbhost = 'localhost:3036';
            $dbuser = 'root';
            $dbpass = 'rootpassword';
            $conn = mysql_connect($dbhost, $dbuser, $dbpass);
            
            if(! $conn ) {
               die('无法连接: ' . mysql_error());
            }
            
            if(! get_magic_quotes_gpc() ) {
               $emp_name = addslashes ($_POST['emp_name']);
               $emp_address = addslashes ($_POST['emp_address']);
            }else {
               $emp_name = $_POST['emp_name'];
               $emp_address = $_POST['emp_address'];
            }
            
            $emp_salary = $_POST['emp_salary'];
            
            $sql = "INSERT INTO employee ". "(emp_name,emp_address, emp_salary, 
               join_date) ". "VALUES('$emp_name','$emp_address',$emp_salary, NOW())";
               
            mysql_select_db('test_db');
            $retval = mysql_query( $sql, $conn );
            
            if(! $retval ) {
               die('无法输入数据: ' . mysql_error());
            }
            
            echo "数据输入成功\n";
            
            mysql_close($conn);
         }else {
            ?>
            
<form method = "post" action = "<?php $_PHP_SELF ?>">
  <table width = "400" border = "0" cellspacing = "1" cellpadding = "2">
  
     <tr>
        <td width = "100">员工姓名</td>
        <td><input name = "emp_name" type = "text" id = "emp_name"></td>
     </tr>
  
     <tr>
        <td width = "100">员工地址</td>
        <td><input name = "emp_address" type = "text" id = "emp_address"></td>
     </tr>
  
     <tr>
        <td width = "100">员工工资</td>
        <td><input name = "emp_salary" type = "text" id = "emp_salary"></td>
     </tr>
  
     <tr>
        <td width = "100"> </td>
        <td> </td>
     </tr>
  
     <tr>
        <td width = "100"> </td>
        <td>
           <input name = "add" type = "submit" id = "add" value = "添加员工">
        </td>
     </tr>
  
  </table>
</form>
            
<?php
}
?>
   
   </body>
</html>