PHP中插入查询的概念及应用实例

98 阅读6分钟

了解PHP中插入查询的概念

Understanding the Concept of Insert Query in PHP

目录

PHP是一种支持HTML的服务器端编程语言。它被用来管理动态内容、数据库和会话监控,以及创建完整的电子商务网站。MySQLPostgreSQL、Oracle、Sybase、Informix和Microsoft SQL Server只是它支持的几个数据库。

PHP开始是一个小小的开源项目,随着越来越多的人认识到它的好处,它的知名度也越来越高。1994年,Rasmus Lerdorf发布了PHP的最初版本。

"PHP。Hypertext Preprocessor "是 "PHP:超文本预处理程序"。

如何在PHP的INSERT查询中建立数据库和表

在进行这篇《PHP中的插入查询》文章之前,你必须首先了解如何在MySQL中建立一个数据库。

在PHP中,我们使用INSERT INTO语句来向数据库表添加新的行。通过将mysqli查询传递给PHP,我们可以运行插入查询()。我们使用mysqli multi query在一次调用中执行多个查询,因为mysqli query不能执行多个查询以避免 SQL注入。在我们进一步讨论之前,请记住以下语法:

  • 嵌入到一个表的语法。VALUES (value1, value2,...valueN) INTO TABLE NAME (column1, column2, ... columnN)。
  • mysqli query()的语法如下: mysqli query(connection,query,resultmode)。
  • mysqli multi query()有如下语法:mysqli multi query(connection,query)。

现在我们已经涵盖了基础知识,让我们看看这篇文章中关于PHP中插入查询教程的要点:

  • 插入语句的使用
  • 如何执行插入查询
  • 如何使用MySQLi面向对象程序向MYSQL中插入数据,并举例说明
  • 如何使用MySQLi程序性过程向MYSQL中插入数据,并举例说明
  • 如何使用MySQLi面向对象程序插入多条记录到MySQL中,并举例说明
  • 如何使用MySQLi程序性过程插入多条记录到MySQL中,并举例说明

插入语句的使用

我们看到了如何在PHP的插入查询中建立一个数据库和表。在本节中,我们将学习如何运行一个SQL查询,将记录插入到一个表中。

在一个数据库表中,INSERT INTO语句被用来插入新的记录。让我们用INSERT INTO参数创建一个具有可接受值的SQL查询,然后通过将其传递给PHP mysql query()函数来执行,将数据插入到表中。

下面是一个在PHP中插入查询的例子,在这个例子中,你为名字、姓氏和电子邮件字段赋值,以向人表添加一条新的记录。

  • 标题 - 这是你的列的名称。它将被反映在表的顶部。
  • 数据类型- 这是你选择的数据形式。你可以使用int, varchar, string, 和许多其他类型的数据。例如,我们选择varchar,因为我们需要输入一个字符串风格的名字(使用字母,而不是数字)。
  • 长度/值 - 这指定了你在这一列中的条目的最大长度。
  • 对于我们的 "ID "部门,我们使用了 "主 "索引。建议一个表只拥有一个ID列。在配置表的关系时,它是必需的,并且用来列举表的条目。我们还写了 "A I",它代表了 "自动增量"。这将自动枚举条目(1,2,3,4,...)。

如何执行 "插入 "查询

在数据库和表用PHP的插入查询创建后,我们可以开始向它们添加数据。

这里有几个在语法方面需要遵守的准则:

  • 在PHP中,SQL查询必须有引号
  • SQL查询的字符串值必须加引号
  • 没有必要引用数字值
  • 没有必要引用NULL这个词。

要向MySQL表添加新记录,请使用Insert Into语句。

  • 当你向mysqli query()传递的语句长于服务器的max_allowed_packet(libmysqlclient)时,返回的错误代码不同,取决于你是使用MySQL Native Driver(mysqlnd)还是在PHP Client Library中插入查询。以下是这种行为。
  • 在Linux上,mysqlnd返回一个错误代码1153。该错误信息表明,收到的数据包大于max_allowed_packet字节数。
  • 在Windows上,mysqlnd返回错误代码2006。根据这个错误信息,服务器已经停机了。
  • 在所有平台上,libmysqlclient都会返回错误代码2006。根据这个错误信息,服务器已经瘫痪了。

解释如何使用MySQLi面向对象的程序将数据插入MySQL,并举例说明

由于它向MySQL数据库插入数据,这是PHP代码中最重要的一行。INSERT INTO语句用于向数据库表插入数据。

在这个例子中,我们要为表Students填充信息。

此外,我们在括号中列出了表的列名,并在括号中列出了我们要添加的值:(姓名,姓氏,电子邮件)。数据将按照你指定的顺序插入。如果我们写(email, lastname, name),数值会以错误的顺序插入。

VALUES语句是下一个步骤。在这里,我们定义了将被插入到之前指定的列中的值。因此,每一列代表一个不同的值。在我们的例子中,格式将是:name = Test, lastname = Testing, email = Testing@testing.com

另一点值得注意的是,我们只用了PHP代码来运行一个SQL查询。在引号之间,必须输入SQL查询。在我们的例子中,引号之间和写在$sql =之后的任何内容都是一个SQL查询。

例子

<?php  

$host = 'localhost:3306';  

$user = '';  

$pass = '';  

$dbname = 'test';  

$conn = mysqli_connect($host, $user, $pass,$dbname);  

if(!$conn){  

  die('Could not connect: '.mysqli_connect_error());  

}  

echo 'Connected successfully<br/>';  

$sql = 'INSERT INTO emp4(name,salary) VALUES ("sonoo", 9000)';  

if(mysqli_query($conn, $sql)){  

 echo "Record inserted successfully";  

}else{  

echo "Could not insert record: ". mysqli_error($conn);  

}  

mysqli_close($conn);  

?>  

输出

insert_query_in_PHP_1

举例说明如何使用MySQLi程序性过程向MYSQL中插入数据

举例说明如何使用MySQLi面向对象程序向MySQL插入多条记录

解释如何使用MySQLi程序性过程在MySQL中插入多条记录,并举例说明

SQL语句,特别是PHP中的插入查询命令,是用来向数据库写入数据的。INSERT命令很简单:它向数据库插入数据。当你使用phpMyAdmin时,你会得到一个图形用户界面来控制你的数据库,但它也会向你显示它用来完成任务的MySQL命令。我们将利用这个功能来定位正确的代码。我们将使用phpMyAdmin插入一个测试语句,然后复制它使用的INSERT命令。

  • 登录后点击cPanel中的phpMyAdmin图标。
  • 在左边的菜单中点击你的数据库名称,然后在右边的菜单中点击你想处理的表。如果你跟随我们的思路,你将首先选择"_mysite",然后选择 "comments"。
  • 从顶部菜单中选择 "插入"。
  • 在输入评论样本后点击GO

在我们创建了一个样本查询后,我们需要对它进行调整,在用户留下评论后运行它。这是一个可以实现这一目的的代码示例。任何以/开头的行都是PHP中的注释(如果你不熟悉这种语言的话)。它是为程序员设计的,用于对他们的代码所做的事情留下反馈,以便他们或其他从事该代码工作的人更好地了解它在做什么。我们在下面的例子中加入了注释,以说明这些代码在做什么:

<? if( $_POST ) { $con = mysql_connect("localhost","inmoti6_myuser","mypassword"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("inmoti6_mysite", $con); 

$users_name = $_POST['name']; $users_email = $_POST['email']; $users_website = 

$_POST['website']; $users_comment = $_POST['comment']; $users_name = 

mysql_real_escape_string($users_name); $users_email = 

mysql_real_escape_string($users_email); $users_website = 

mysql_real_escape_string($users_website); $users_comment = 

mysql_real_escape_string($users_comment); $articleid = $_GET['id']; if( ! is_numeric($articleid) 

) die('invalid article id'); $query = " INSERT INTO `inmoti6_mysite`.`comments` (`id`, `name`, `email`, `website`, `comment`, `timestamp`, `articleid`) VALUES (NULL, '$users_name', 

'$users_email', '$users_website', '$users_comment', CURRENT_TIMESTAMP, '$articleid');"; 

mysql_query($query); echo "<h2>Thank you for your Comment!</h2>"; mysql_close($con); } ?>

结语

在本教程中,我们了解了PHP中的插入查询,插入语句的使用以及它的执行方式。我们看到了如何使用MySQLi面向对象程序和程序性程序向MYSQL中插入数据和多条记录,并举了一些例子。