如何在 Codeigniter 中转义数据库连接详细信息中的字符
How to escape characters in database connection details in Codeigniter
我有一个数据库凭据,其中一些转义字符出现在密码中,例如 \ 和 '
下面是实际密码:12ru%DMRCy'\q!@W2aq
我想通过转义这些字符来使用该密码,但是 codeigniter 显示错误
在 database.php
中使用带双引号、单引号和转义字符串的密码时
'password' => "12ru%DMRCy'\q!@W2aq"
'password' => "12r\3u%DMRCy'\q!@W2aq"
'password' => '12r\3u%DMRCy\'\q!@W2aq'
显示如下错误。
消息:pg_connect():无法连接到 PostgreSQL 服务器:连接信息字符串中“\q!@W2aq'”后缺少“=”
然而,当尝试像下面这样回显时,它完美地打印了我的原始密码 12ru%DMRCy'\q!@W2aq
echo '12r\3u%DMRCy\'\q!@W2aq';
echo "12r\3u%DMRCy'\q!@W2aq";
下面是database.php
连接的示例代码
$db['staging_db'] = array(
'dsn' => '',
'hostname' => 'test.rds.amazonaws.com',
'username' => 'test_username',
'password' => "12r\3u%DMRCy'\q!@W2aq",
'database' => 'staging',
'dbdriver' => 'postgre',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE,
'port' => 5432,
);
任何人都可以建议我如何在 database.php 中使用我上面提到的密码和 codeigniter?
我试过下面的代码
'password' => addslashes("12r\3u%DMRCy'\q!@W2aq")
它使用我的原始密码 12ru%DMRCy'\q!@W2aq 并连接到数据库。谢谢!
你可以像下面那样做。
addslashes($password)
; \\ 使用 addslashes 函数存储密码值
当你需要使用这个密码值时
stripslashes($password)
\\ 使用 stripslashes 函数删除添加的斜线
希望对您有所帮助。
我有一个数据库凭据,其中一些转义字符出现在密码中,例如 \ 和 '
下面是实际密码:12ru%DMRCy'\q!@W2aq
我想通过转义这些字符来使用该密码,但是 codeigniter 显示错误
在 database.php
中使用带双引号、单引号和转义字符串的密码时'password' => "12ru%DMRCy'\q!@W2aq"
'password' => "12r\3u%DMRCy'\q!@W2aq"
'password' => '12r\3u%DMRCy\'\q!@W2aq'
显示如下错误。
消息:pg_connect():无法连接到 PostgreSQL 服务器:连接信息字符串中“\q!@W2aq'”后缺少“=”
然而,当尝试像下面这样回显时,它完美地打印了我的原始密码 12ru%DMRCy'\q!@W2aq
echo '12r\3u%DMRCy\'\q!@W2aq';
echo "12r\3u%DMRCy'\q!@W2aq";
下面是database.php
连接的示例代码$db['staging_db'] = array(
'dsn' => '',
'hostname' => 'test.rds.amazonaws.com',
'username' => 'test_username',
'password' => "12r\3u%DMRCy'\q!@W2aq",
'database' => 'staging',
'dbdriver' => 'postgre',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE,
'port' => 5432,
);
任何人都可以建议我如何在 database.php 中使用我上面提到的密码和 codeigniter?
我试过下面的代码
'password' => addslashes("12r\3u%DMRCy'\q!@W2aq")
它使用我的原始密码 12ru%DMRCy'\q!@W2aq 并连接到数据库。谢谢!
你可以像下面那样做。
addslashes($password)
; \\ 使用 addslashes 函数存储密码值
当你需要使用这个密码值时
stripslashes($password)
\\ 使用 stripslashes 函数删除添加的斜线
希望对您有所帮助。