搜索栏类型错误



大家晚上好!

TypeError参数2传递到CodeIgniter\DatabaseBuilder::like((的类型必须为字符串,给定null,在中调用D: \examplep\htdocs\lordeCI\app\Controllers\AutocompleteSearch.php在线31

Codeigniter正在为下面的代码块抛出此错误,">titulo"one_answers">post_id'是名为"posts"的表的列名:

public function ajaxSearch()
{
helper(['form', 'url']);
$data = [];
$db      = ConfigDatabase::connect();
$builder = $db->table('posts');   
$query = $builder->like('titulo', $this->request->getVar('q')) //this is line 31
->select('post_id, titulo as text')
->limit(10)->get();
$data = $query->getResult();

echo json_encode($data);
}

此外,一些图像没有正确加载,浏览器会给出一个状态代码:200,尽管内容类型是"0";text/html";,我已经检查了图像路径,它是正确的。然而,下面的消息显示在开发工具的网络选项卡中

"DevTools无法加载SourceMap:无法加载的内容铬-extension://pmncamalnkoafdfdmojmhanhngjaakcb/browser-polyfill.js.map:HTTP错误:状态代码404,网络::ERR_UNKNOWN_URL_SCHEME";

对于异常

您得到:您正在向q参数传递空值,发生异常是因为它类似于调用:$query = $builder->like('titulo', null),这不可能发生,只有字符串被接受为like方法的第二个参数。

要解决此问题,请在使用之前验证您的参数:

$titulo = '';
if ( ! empty( $titulo ) ) {
$titulo = $this->request->getVar('q');
}
$query = $builder->like('titulo', $titulo);

更好的方法是通过表单验证。

图像问题

您必须检查如何将图像返回给客户。如果直接从echo返回图像,则会出现这种错误。

最好的方法是在应用服务器级别解决这个问题。

SourceMap错误

不是什么大问题,这不会在任何方面阻碍您的应用程序。看看这个StackOverflow的问题。

相关内容

  • 没有找到相关文章

最新更新