MySQLi 过程函数
MySQLi (MySQL 改进)为数据及其管理提供过程和面向对象的接口。 i 扩展 MySQL 功能允许用户访问其数据库服务器。 MySQL 改进扩展专门设计用于 MySQL 版本 4.1.13 和新版本。
使用准备好的语句的优点:
- 准备好的语句非常有效,专门用于避免 SQL 注入攻击。
- 准备好的语句被重复使用。它还减少了解析时间和开销,因为查询的准备只完成一次。
- 数据库解析、编译、优化查询语句并存储结果。
- 将参数与查询绑定可最大限度地减少整体带宽,因为参数会在需要时发送,而不是发送整个查询。
- 使用占位符绑定参数更安全,更容易,因为正确的格式是自动完成的。
- 通过将占位符值发送到 MySQL 服务器,它遵循客户端-服务器协议。
- 它使用不同的变量集多次执行特定的查询语句,有效地降低了成本。
- 它还节省了数据复制和转换。
- 准备好的语句不太容易出错,因为首先解析语句,然后服务器使用解析的值。
我们无法涵盖该主题下的所有内容,但让我们研究一些重要的程序功能
MySQLi 的。
1.mysqli_connect():
如您所知,在进行任何与数据库相关的操作之前,您需要建立与 MySQL 数据库服务器的连接。如果连接建立成功,则返回一个数据库连接资源标识符。如果连接遇到故障,那么它只会抛出一个错误。
php
php
php
php
php
php
bind_param("ss", $itemname, $description);
// set parameters and execute
$itemname = "Shampoo";
$description = "Hairfall preventing protein shampoo";
$query->execute();
echo "New record inserted successfully";
mysqli_close();
?>
php
php
php
php
php
php
".$row[$i]['item_name'];
}
// Free the result set
mysqli_free_result($result);
mysqli_close($conn);
?>
php
php
php
php
php
name."
";
echo "Table name : ".$value->table."
";
echo "Maximum length : ".$value->max_length."
";
echo nl2br (" \n ");
}
// Free result set
mysqli_free_result($result);
}
mysqli_close($conn);
?>
php
php
php
php
php
php
php
输出:
Connection established successfully.
2.mysqli_connect_error():
当连接未成功时,MySQLi函数会引发错误,并且该函数将错误存储在对 mysqli_connect() 的先前调用中。如果没有遇到错误,则返回 NULL。如果遇到任何错误,则返回错误消息。
笔记:
- 要测试mysqli_connect_error() ,请在 XAMPP 控制面板中停止 MySQL 服务器,然后调用上面具有 mysqli_connect() 的PHP代码。
- 如果在PHP配置中启用了display_errors ,您可以看到mysqli_connect_error()的错误,它返回以下消息。
Connection failed as the target machine actively refused it.
笔记:
在良好的编程实践中,最好不要显示任何错误消息。出于故障排除目的,请使用mysqli_connect_error()记录以下代码中提到的错误。
PHP
3.mysqli_select_db():
此 mySQLi函数用于更改用于建立连接的默认数据库。
PHP
结果:
这会将当前数据库更改为GFG_TEST
4.mysqli_debug():
每个 Web 开发人员都需要参考日志文件来开始故障排除以提高应用程序性能。上面的 mySQLi函数在代码中用于所有调试目的。
PHP
笔记:
用户应编译 MySQL 客户端库以使用上述函数支持调试。成功时此函数将返回 TRUE。
5.mysqli_close():
此 MySQLi函数用于关闭以前连接的数据库。该函数将在成功关闭时返回 TRUE,否则将返回 FALSE。
PHP
输出:
Connection closed successfully.
6.mysqli_prepare():
上面的 MySQLi函数用于准备执行 MySQL 查询。它返回一个语句对象以进行进一步的操作,如果发生错误则返回 FALSE。
PHP
bind_param("ss", $itemname, $description);
// set parameters and execute
$itemname = "Shampoo";
$description = "Hairfall preventing protein shampoo";
$query->execute();
echo "New record inserted successfully";
mysqli_close();
?>
输出:
New record inserted successfully
7.mysqli_query():
这个 MySQLi函数在给定的数据库上执行或执行查询。
PHP
输出:
Inserted successfully
8. mysqli_rollback():
mysqli函数回滚给定数据库连接的当前事务。关闭自动提交,执行查询,然后再次提交查询,然后回滚当前
交易。
PHP
9.mysqli_fetch_row():
上面的 MySQLi函数用于从结果集中获取一行作为枚举数组。对上述函数的每次调用都将返回结果集中的下一行。如果未获取任何行,则返回 FALSE。
PHP
结果:
它将显示所有带有项目名称、描述的行
10. mysqli_field_count():
上面的 MySQLi函数用于返回最近查询的列数。它返回结果集中的总列数。
PHP
输出:
4
11.mysqli_fetch_array():
上面的 MySQLi函数用于从结果集中获取一行作为关联数组、数字数组或两种类型的数组。
PHP
输出:
table array
12.mysqli_fetch_all():
MySQLi函数获取所有行并将结果集作为关联数组、数值数组或两者返回。
PHP
".$row[$i]['item_name'];
}
// Free the result set
mysqli_free_result($result);
mysqli_close($conn);
?>
注意:上述函数仅适用于 MySQL Native Driver。
13.mysqli_free_result():
上面的 MySQLi函数释放结果集的获取行的内存。
PHP
输出:
Item name :box, Description : square shaped box in red colour
14.mysqli_num_rows():
上面的 MySQLi函数用于返回结果集的行数。
PHP
输出:
Total number of rows of the result : 8
15.mysqli_affected_rows():
上面的 MySQLi函数用于返回从之前的 MySQL SELECT、INSERT、UPDATE、DELETE 或 REPLACE 查询中受影响的行总数。
PHP
输出:
Total affected rows : 8
16. mysqli_get_server_info():
上面的 MySQLi函数用于返回 MySQL 服务器版本。
PHP
输出:
The MySQL server version is : 5.6.21
17. mysqli_fetch_fields():
上面的 MySQLi函数返回一个对象数组,其中包含结果集的列信息。
PHP
name."
";
echo "Table name : ".$value->table."
";
echo "Maximum length : ".$value->max_length."
";
echo nl2br (" \n ");
}
// Free result set
mysqli_free_result($result);
}
mysqli_close($conn);
?>
输出:
Column name : item_name
Table name : items_info
Maximum length : 18
Column name : description
Table name : items_info
Maximum length : 35
18.mysqli_error():
如果存在任何错误,MySQLi函数将返回最后一次 MySQL函数调用的错误消息。
PHP
19.mysqli_autocommit():
上述 MySQLi函数用于打开/关闭自动提交数据库更改或操作。
PHP
20. mysqli_error_list():
如果存在任何错误,MySQLi函数会返回最后一次 MySQL函数调用的错误消息列表。
PHP
21. mysqli_begin_transaction():
MySQLi函数在 MySQL 命令之后启动一个事务。如果执行成功则返回 TRUE,否则返回 FALSE。
PHP
22.mysqli_change_user():
MySQLi函数用于将给定数据库连接的用户更改为新数据库。
PHP
输出:
Default database : OTHER_GFG
23. mysqli_character_set_name():
MySQLi函数用于返回为数据库连接选择的默认字符集。
PHP
输出:
Default character set is: latin1
24. mysqli_real_escape_string():
MySQLi函数用于转义字符串中的特殊字符,以便在 MySQL 查询中使用。
PHP
输出:
One record added successfully