Php 代码点火器-can';使用变量时不更新数据库
我有一个非常奇怪的问题…当我在查询中使用变量时,看起来我无法更新数据库(从textarea字段)。 模型样本: 这项工作: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
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
SETvendor\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)吗代码>结果在这里?这样做,行按其应该的方式更新,没有错误。这样做,行按其应该的方式更新,没有错误。