为什么mysql_real_escape_string中有一个资源?

发布于 2024-09-07 15:39:18 字数 390 浏览 5 评论 0原文

我很长时间以来一直想知道为什么我实际上需要连接到 SQL 的实时资源才能使用 mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

这个函数不只是转义数据吗?连接有什么意义?我想在没有连接的情况下使用该功能,我正在考虑创建一个没有权限的帐户,这样我就可以做到这一点。

我调用一个包装函数 runSQL(user, statements) 并返回一个包含数据或布尔状态的数组。

我一直在考虑让这个 runSQL(user, statements, argument-and-validation-data)

我只是想要一个理由。我在手册页上找不到“为什么”。

I've been wondering for the longest time WHY I actually need a live resource to SQL connected in order to use mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

Does this function not simply escape the data? What's the point of connecting? I want to use the function without a connection, I'm debating creating an account with no privileges just so I can do this.

I call a wrapper function runSQL(user, statement) and return an array with either the data or boolean status.

I've been thinking of making this runSQL(user, statement, arguments-and-validation-data)

I just want a reason. I can't find a "why" on the man page.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

能怎样 2024-09-14 15:39:18

正确的转义部分取决于当前连接的字符集,因此它需要知道有关实时连接的信息。


关于您的评论,这里是 PHP 函数使用的 MySQL C API 手册的链接:

http://dev.mysql.com/doc/refman/5.1/en/mysql-real-escape-string.html

它说:

请注意,mysql 必须是有效的、打开的连接。这是必需的,因为转义取决于服务器使用的字符集。

Correct escaping depends in part on the current connection's character set, so it needs to know that information about a live connection.


Re your comment, here's a link to the manual for MySQL's C API, which is used by the PHP function:

http://dev.mysql.com/doc/refman/5.1/en/mysql-real-escape-string.html

It says:

Note that mysql must be a valid, open connection. This is needed because the escaping depends on the character set in use by the server.

清君侧 2024-09-14 15:39:18

来自 mysql_real_escape_string 的文档 - http://php.net/手册/en/function.mysql-real-escape-string.php

转义特殊字符
unescaped_string,考虑到
当前的字符集
连接以便安全放置
它在 mysql_query() 中

From the documentation for mysql_real_escape_string - http://php.net/manual/en/function.mysql-real-escape-string.php

Escapes special characters in the
unescaped_string, taking into account
the current character set of the
connection so that it is safe to place
it in a mysql_query()

没有心的人 2024-09-14 15:39:18

可以一次打开多个 MySQL 连接。通常您会省略资源参数,因为您在脚本中仅使用 1 个 MySQL 连接,并且默认为最后打开的连接。

It's possible to open multiple MySQL connections at a time. Usually you omit the resource parameter because you only use 1 MySQL connection in your script, and it defaults to the last opened connection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文