📜  MySQLi 过程函数

📅  最后修改于: 2022-05-13 01:54:36.560000             🧑  作者: Mango

MySQLi 过程函数

MySQLi (MySQL 改进)为数据及其管理提供过程和面向对象的接口。 i 扩展 MySQL 功能允许用户访问其数据库服务器。 MySQL 改进扩展专门设计用于 MySQL 版本 4.1.13 和新版本。
使用准备好的语句的优点:

  1. 准备好的语句非常有效,专门用于避免 SQL 注入攻击。
  2. 准备好的语句被重复使用。它还减少了解析时间和开销,因为查询的准备只完成一次。
  3. 数据库解析、编译、优化查询语句并存储结果。
  4. 将参数与查询绑定可最大限度地减少整体带宽,因为参数会在需要时发送,而不是发送整个查询。
  5. 使用占位符绑定参数更安全,更容易,因为正确的格式是自动完成的。
  6. 通过将占位符值发送到 MySQL 服务器,它遵循客户端-服务器协议。
  7. 它使用不同的变量集多次执行特定的查询语句,有效地降低了成本。
  8. 它还节省了数据复制和转换。
  9. 准备好的语句不太容易出错,因为首先解析语句,然后服务器使用解析的值。

我们无法涵盖该主题下的所有内容,但让我们研究一些重要的程序功能
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