我试图根据搜索关键字查看$ data ['结果']中的数据,但每次都会遇到上述致命错误,有人可以帮我解决。 我的控制器
var MyComponent = Vue.extend({
template: '<div>Hello!</div>'
})
new MyComponent().$mount('#app')
我的模特:
public function execute_search()
{
$search_term = $this->input->post('search');
$data['results'] = $this->UserModel->get_results($search_term);
print_r($results); die;
//$this->load->view('search_result',$data);
}
答案 0 :(得分:0)
您将结果存储在$data['results']
并打印$results
那怎么办呢?
打印$data['results']
如下
print_r($data['results']); die;
您可以在视图中使用$results
。
答案 1 :(得分:0)
从return语句中删除result(),如下所示:
public function get_results($search_term)
{
//var_dump($search_term);die;
$this->db->select('*');
$this->db->from('Competitor_Products');
$this->db->where('CProduct_Article_Number', $search_term);
return $this->db->get();
}
答案 2 :(得分:0)
我建议您先检查以下基本内容,这可能对您有所帮助......
您是否获得了正确的搜索字符串
echo $search_term = $this->input->post('search');
$this->UserModel
是否正确指向模型(后跟文件名约定)
您还可以使用以下内容检查您的查询是否正确构建
Echo query before execution and without execution in codeigniter Active Record
/* SELECT */ $this->db->_compile_select();
/* INSERT */ $this->db->_insert();
/* UPDATE */ $this->db->_update();
答案 3 :(得分:0)
您必须更改print_r()
setOnClickListener
答案 4 :(得分:0)
这可能是因为CI无法正确转义查询值的位置。如果没有看到$search_term
是什么,很难确定。您可以通过更改此行
$this->db->where('CProduct_Article_Number', $search_term);
到此
$this->db->where('CProduct_Article_Number', $search_term, FALSE);
这将关闭变量和标识符的转义。
答案 5 :(得分:0)
我有类似的问题,但是解决方案对我来说很简单。 我知道为时已晚,但可以帮助遇到相同问题的其他人。
if($this->db->get() === false){
return false;
}
return $this->db->get()->result();
答案 6 :(得分:0)
我遇到了同样的问题,我的应用程序运行良好,直到两天前我开始遇到相同的错误。弄清楚查询根本不返回任何数据,并得到了您提到的相同错误。不知何故,我找到了一个对我有用的解决方案。我必须编辑我在CI中使用的mysqli驱动程序。
第147行/public_html/system/database/drivers/mysqli/mysqli_driver.php 我更改了以下代码
`$this->_mysqli->options(MYSQLI_INIT_COMMAND,
'SET SESSION sql_mode =
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
@@sql_mode,
"ONLY_FULL_GROUP_BY,", ""),
",ONLY_FULL_GROUP_BY", ""),
"ONLY_FULL_GROUP_BY", ""),
"ONLY_FULL_GROUP_BY,", ""),
",ONLY_FULL_GROUP_BY", ""),
"ONLY_FULL_GROUP_BY", "")'
);`
此准则
striction
并确保在/ application / config /文件夹下的database.php文件中将FALSE
设置为'stricton' => FALSE,
。像这样{{1}}
答案 7 :(得分:0)
在加载后忘记传递参数时出现问题,要加载模型的示例包含已参数化以执行某些功能的方法,您将在Controller上执行此操作
<?php
class example extends CI_Controller{
public function send(){
$this->load->model('modelname'); //call the model name
$this->modelname->methodName($variable); //variable contain data that need to be saved on database
}
}
?>
参数化后,该方法包含$ variable数据以便访问数据库模型将对此人员有效。因此,您必须参数化模型的方法。例如,您将这样编写代码。
<?php
class modelname extends CI_Model{
public function methodName($email){
$this->db->set('password', $this->input->post('npass'));
$this->db->where('email', $email;
$query = $this->db->update('test');
if($query->Result()){
return true;
}else{
return false;
}
}
}
}
?>
我希望其中的一些示例可以帮助您解决此类错误
答案 8 :(得分:0)
替换以下行
import * as moment from 'moment';
import 'moment-duration-format';
使用
const seconds: number = Math.floor(process.uptime());
const formatted: string = moment.duration(seconds, 'seconds').format({
precision: 0,
template: 'y [years], w [weeks], d [days], h [hours], m [minutes], s [seconds]',
});
答案 9 :(得分:0)
您还可以在MySQL窗口中使用以下命令进行验证:
mysql> REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','');
谢谢!和平。
其他参考: