【问题标题】:insert "\r" into mysql db without escaping to "\\r" - codeigniter将 "\r" 插入 mysql 数据库而不转义到 "\\r" - codeigniter
【发布时间】:2023-04-07 23:09:01
【问题描述】:

我有一个textarea,并且正在使用 GET 提交它使用 AJAX 的表单。 我想保留空格,所以我有一个看起来有点像

的 url
http://.../notes/insert/?user_id=12&note_string=new /r/r/r/r/r/rline&account_id=  

但是当我使用$this->db->insert(); 它将查询转换为

INSERT INTO `notes` (`user_id`, `note_string`, `account_id`)
VALUES ('12', 'new \\r\\r\\r\\r\\r\\rline', '')

(在控制器中,我将/r 替换为\r

有没有办法逃脱?大声笑还是让\r 通过?

谢谢

【问题讨论】:

  • 如果要在显示 db 输出时保留换行符,请使用 php nl2br 函数...
  • 问题是首先在数据库中记录换行符
  • 做同样的事情并将\n存储为字符串而不是实际的换行符,因为codeigniter通过插入\\n来转义它

标签: mysql codeigniter textarea


【解决方案1】:

查看 CodeIgniter 文档http://codeigniter.com/user_guide/database/queries.html中的“查询绑定”

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; 
$this->db->query($sql, array(3, 'live', 'Rick'));

【讨论】:

    猜你喜欢
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 2015-08-04
    相关资源
    最近更新 更多