首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Codeigniter中转义数据库连接细节中的字符

如何在Codeigniter中转义数据库连接细节中的字符
EN

Stack Overflow用户
提问于 2019-08-13 05:08:00
回答 2查看 305关注 0票数 1

我有一个数据库凭据,其中一些转义字符出现在密码中,比如\和‘

下面是实际密码:12r\3u%DMRCy'\q!@W2aq

我希望通过转义这些字符来使用该密码,但是代码点火器显示错误。

当使用密码加上双引号时,单引号和转义字符串如database.php中的下面所示

代码语言:javascript
复制
'password' => "12r\3u%DMRCy'\q!@W2aq"
'password' => "12r\\3u%DMRCy'\q!@W2aq"
'password' => '12r\\3u%DMRCy\'\\q!@W2aq'

它显示在错误下面。

消息: pg_connect():无法连接到PostgreSQL服务器:连接信息字符串中“q!@W2aq‘”之后缺少"=“

然而,当试图像下面这样回显时,它完美地打印出我的原始密码12r\3u%DMRCy'\q!@W2aq

代码语言:javascript
复制
echo '12r\\3u%DMRCy\'\\q!@W2aq';
echo "12r\\3u%DMRCy'\q!@W2aq";

下面是database.php中连接的示例代码

代码语言:javascript
复制
$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中使用上述密码和代码点火器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-13 05:46:48

我尝试了下面的代码

'password' => addslashes("12r\\3u%DMRCy'\q!@W2aq")

它使用我的原始密码12r\3u%DMRCy'\q!@W2aq并连接到数据库。谢谢!

票数 0
EN

Stack Overflow用户

发布于 2019-08-13 10:43:42

你可以像下面这样做。

addslashes($password);\存储带有加号函数的密码值

当您需要使用此密码值时

stripslashes($password) \删除添加的带条带斜杠的斜杠

希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57471417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档