了解PHP中插入查询的概念
![]()
目录
PHP是一种支持HTML的服务器端编程语言。它被用来管理动态内容、数据库和会话监控,以及创建完整的电子商务网站。MySQL、PostgreSQL、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);
?>
输出
![]()
举例说明如何使用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中插入数据和多条记录,并举了一些例子。