PHP是一种用于网站开发和服务器端编程的流行的脚本语言。它可以轻松地与MySQL等数据库进行交互,并提供了一些强大的函数来修改数据以及执行其他数据库操作。在本文中,我们将讨论PHP中常用的数据库修改函数以及用于转换符号的一些函数。
PHP数据库修改函数:
1. mysqli_query()
mysqli_query()是PHP中最常用的数据库修改函数之一。它允许您向MySQL数据库发送SQL语句,以修改数据。例如,您可以使用它来更新表中的数据或向表中插入新数据。
以下是一个示例:
```php
$con = mysqli_connect("localhost", "username", "password", "database_name");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$sql = "UPDATE users SET username='NewName' WHERE id=1";
if (mysqli_query($con, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($con);
}
mysqli_close($con);
?>
```
在以上示例中,我们使用mysqli_query()函数向MySQL数据库发送了一条UPDATE语句来更新名为“users”的表中的名为“NewName”的用户的用户名。然后,我们使用mysqli_error()函数输出任何错误。
2. mysqli_fetch_array()
mysqli_fetch_array()函数允许您从MySQL数据库中检索数据。例如,如果您要从名为“users”的表中检索所有用户名,您可以使用mysqli_fetch_array()函数将它们存储在数组中,以便稍后在您的应用程序中使用。
以下是一个示例:
```php
$con = mysqli_connect("localhost", "username", "password", "database_name");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$sql = "SELECT username FROM users";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_array($result)) {
echo $row["username"] . "
";
}
} else {
echo "0 results";
}
mysqli_close($con);
?>
```
在以上示例中,我们使用mysqli_fetch_array()函数检索了全部用户的用户名。它使用一个while循环来轮询mysqli_query()函数返回的结果集,并输出每个行数据的用户名键值。
3. mysqli_real_escape_string()
mysqli_real_escape_string()函数是用于转义字符串的函数,因为数据库中的字符串可能包含单引号和双引号等特殊字符。如果没有转义这些字符,将会导致SQL语句出错。
以下是一个示例:
```php
$con = mysqli_connect("localhost", "username", "password", "database_name");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$username = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$sql = "INSERT INTO users (username, password)
VALUES ('$username', '$password')";
if (mysqli_query($con, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . mysqli_error($con);
}
mysqli_close($con);
?>
```
在以上示例中,我们使用mysqli_real_escape_string()函数转义了$ username和$password变量中的任何特殊字符,并将其插入到名为“users”的表中。这可以确保输入数据中的特殊字符不会干扰SQL语句的运行。
PHP转换符号函数:
在PHP中,您有时需要转换字符串中的特殊字符。例如,您可能需要将HTML标记转换为它们的实体代码,以实现跨站点脚本(XSS)保护。以下是几个常用的PHP转换符号函数。
1. htmlentities()
htmlentities()函数用于将特殊字符转换为HTML实体代码。例如,如果您要在网页上输出包含HTML标记的字符串,您需要使用此函数来确保这些标记正常显示。
以下是一个示例:
```php
$str = "
This is a paragraph.
";echo htmlentities($str);
?>
```
在以上示例中,我们将包含一个段落标记的字符串存储在名为$str的变量中,然后使用htmlentities()函数将其转换为HTML实体。输出结果如下:
```html
<p>This is a paragraph.</p>
```
这是将<和>标记转换为实体代码的示例。
2. htmlspecialchars()
htmlspecialchars()函数用于将特殊字符转换为HTML实体,它类似于htmlentities()函数。但是,htmlspecialchars()函数只将HTML标记替换为实体代码,而不是将所有特殊字符替换为实体代码。
以下是一个示例:
```php
$str = "
This is a paragraph.
";echo htmlspecialchars($str);
?>
```
在以上示例中,我们将包含一个段落标记的字符串存储在名为$str的变量中,然后使用htmlspecialchars()函数将其转换为HTML实体。输出结果如下:
```html
<p>This is a paragraph.</p>
```
因为htmlspecialchars()函数只将标记转换为实体,所以字符“/”和“>”保持不变。
3. addslashes()
addslashes()函数用于将转义字符添加到字符串中的某些字符,例如在字符串中包含单引号或双引号的情况下。
以下是一个示例:
```php
$str = "I'm learning PHP";
echo addslashes($str);
?>
```
在以上示例中,我们将包含单引号的字符串存储在名为$str的变量中,然后使用addslashes()函数向字符串中的单引号添加转义字符。输出结果如下:
```html
I\'m learning PHP
```
addslashes()函数将字符串中的单引号转换为“\'”,以确保在将该字符串插入到SQL语句中时不会发生错误。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复