Php 代码点火器-can';使用变量时不更新数据库

Php 代码点火器-can';使用变量时不更新数据库,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有一个非常奇怪的问题…当我在查询中使用变量时,看起来我无法更新数据库(从textarea字段)。 模型样本: 这项工作: public function update_vendor_about ( $id, $txt ) { $data = array ( "vendor_about" => $txt, ); $this->db->where("id", $id); $this->db->update("us

我有一个非常奇怪的问题…当我在查询中使用变量时,看起来我无法更新数据库(从textarea字段)。 模型样本:

这项工作:

public function update_vendor_about ( $id, $txt )
{
    $data = array ( "vendor_about" => $txt, );        
    $this->db->where("id", $id);        
    $this->db->update("users", $data); 
} 
但是,这不起作用:

public function update_vendor_about ( $id, $txt )
{
    $data = array ( "vendor_about" => 'sometext', );        
    $this->db->where("id", $id);        
    $this->db->update("users", $data); 
}
来自控制器的呼叫:

$message = $this->input->post('profile_about');
$this->user_model->update_vendor_about ( $active_user_id, $message );
模型得到
$txt
好的,我可以看到它并正确输出。 如果我手动编写整个
UPDATE
查询,也会发生同样的情况

我认为问题可能出在实际的
$txt
内容中,所以我尝试了
trim()
stripslashes()
、替换
\n\r
等,但没有任何帮助


有什么想法吗?

您的$txt是key=>值数组。在访问阵列时指定密钥

$data = array ( "vendor_about" => $txt["vendor_about"] );        
$this->db->where("id", $id);        
$this->db->update("users", $data); 

$txt是key=>value数组。在访问阵列时指定密钥

$data = array ( "vendor_about" => $txt["vendor_about"] );        
$this->db->where("id", $id);        
$this->db->update("users", $data); 

似乎在更新查询中缺少数组索引:

$data = array ("vendor_about"=>$txt['vendor_about']);        
$this->db->where("id",$id);        
$this->db->update("users",$data);

似乎在更新查询中缺少数组索引:

$data = array ("vendor_about"=>$txt['vendor_about']);        
$this->db->where("id",$id);        
$this->db->update("users",$data);

使用echo$this->db->last_query();您将获得查询,然后在phpmyadmin或sqlyog中运行它,您将得到错误消息,然后您可以解决它。

使用echo$this->db->last_query();您将获得查询,然后在phpmyadmin或sqlyog中运行它,您将获得错误消息,然后可以解决它。

好的,此问题与服务器相关。
我刚刚用Apache2.4.9、PHP5.5.12和MySQL 5.6.17在另一台服务器上试用了它,效果很好。

好的,这个问题与服务器有关。
我刚刚在另一台装有Apache 2.4.9、PHP 5.5.12和MySQL 5.6.17的服务器上试用过,效果很好。

你能
回送这个查询并将结果发布到这里吗?你能把($txt)变量转储并给出输出吗?@AnkiiGangrade看起来不错:“更新
用户
设置
供应商关于
='sometext'其中
id
='20'”@KunalPradhan var_dump看起来也不错:“数组(1){[“供应商_关于”]=>string(4)“sometext”}”您是否在模型函数示例函数
edit_user($txt){}
中传递了它?您是否可以
echo
此查询并将结果发布到这里?您是否可以var_dump($txt)并给出输出?@AnkiiGangrade看起来不错:“更新
users
SET
vendor\u about
='sometext'其中
id
='20'@KunalPradhan var\u dump看起来也不错:“数组(1){[“vendor\u about”]=>string(4)“sometext”}你在模型函数示例函数
编辑用户($txt){}
Hmm中传递了吗,没有我得到“非法字符串偏移量”“以这种方式出错……另外,我注意到有时(绝对随机)我的代码实际上可以工作……这可能是数据库本身的问题吗?你能
print\r($txt)在模型中并粘贴到这里?好的,如果我使用类似$this->user\u model->update\u vendor\u about($active\u user\u id,“我的文本”)的东西,它肯定会从textarea获取数据你能粘贴
print\r($txt)吗这里的结果?嗯,不,我通过这种方式得到“非法字符串偏移量”错误…而且,我注意到有时(绝对随机)我的代码实际上可以工作…这可能是数据库本身的问题吗?你能
打印($txt)吗在模型中并粘贴到这里?好的,如果我使用类似$this->user\u model->update\u vendor\u about($active\u user\u id,“我的文本”)的东西,它肯定会从textarea获取数据你能粘贴
print\r($txt)吗结果在这里?这样做,行按其应该的方式更新,没有错误。这样做,行按其应该的方式更新,没有错误。