2017-06-01 83 views
-2

我目前正在使用CodeIgniter框架构建API。我遇到了问题,无法在任何地方找到答案。CodeIgniter不插入网址到数据库

目前,当我的终点被调用来发布数据时,它需要一个URL来保存到我的数据库,但是URL的格式在插入时会被破坏。

在我的请求的URL看起来像这样:

web_url: "https://someurl.com" 

然而,在我的数据库,它看起来是这样的:

https // google.com

此外,在很长的URL插入只有一小部分的URL被保存。这里有一个例子:

原始

https://some.service.com/source/update?user=116&subscription=186248&hash=eyJpdiI6IlpSZytyMXI5NFE2XC80Qmc3MTJMREJHVHgyR2dlQU5NakxEbFFWM2Fsb0hNPSIsInZhbHVlIjoiZWdBT0FrZGFYNkw0cllzcXRRcitvMUFRMDNSaFwveVR6bXVRODlSUFM5MUt6aFQzSDNiczJoRUVzdUZ3VE11MHZjWnFnYzNOUUMyTmxmRnpHNVQ0alF3PT0iLCJtYWMiOiI5NjBlMmI3YTZlMzk2MzU1ZmUxMTI3ZTViODQwMTEyYmQ5NTU4OTc5MTg3Mzk1YzBkZWZkODIxOTQzNTNkYmUyIn0%253D 

DB:

https //some.service.com/source/update?user=116&subscripti

在我的数据库的URL字段设置为varchar(1000)

这里是我的代码,我使用存储网址:

if ($status == "active") 
    { 
     $user_id = $this->post('user_id'); 
     $update_url = $this->post('update_url'); 
     $cancel_url = $this->post('cancel_url'); 
     $account = array("status" => $status, 
      "user_id" => $user_id, 
      "update_url" => $update_url, 
      "cancel_url" => $cancel_url); 

      $this->db->insert('accounts', $account); 

任何想法如何解决这个问题?

+0

您是否尝试使用mysql_real_escape_string()函数? –

+0

是的,我试过使用mysql_real_escape_string(),但这并没有帮助 – user1195300

+0

也许你的代码有问题。也许你应该将代码添加到你的问题。 –

回答

0

我设法用$data = $this->input->post();得到在POST请求而不是让每个元素中的所有数据,以解决此问题。

似乎现在正在工作:)

0

也许您可以在字段的数据类型更改为text

+0

我已经试过这个,并没有运气 – user1195300

+0

@ user1195300你可以发布你的代码的一部分,保存到你的分贝,所以我们可以更好地帮助 –

+0

代码已被添加:) – user1195300

相关问题