1064:您的 SQL 语法有错误
这个错误是sql可注入的吗,因为我个人担心我不知道如何修复它,如果它是可注入的,我需要快速修复它?
1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 [ SQL ] 处使用靠近 '%' 或 CategoryMark (如 '%'%') 或 packageName (如 '%'%')' 的正确语法: select count(id)从 microvirt_app_i18n 进行计数,其中广告商 = 'google' 且 color0 且国家/地区代码 = 'US' 且(名称如 '%'%' 或类别标记如 '%'%' 或 packageName 类似 '%'%') 错误位置
文件:/var/www/html/home/ThinkPHP/Library/Think/Db/Driver.class.php 线:350 追踪
#0 /var/www/html/home/ThinkPHP/Library/Think/Db/Driver.class.php(350): E('1064:You have a...')
#1 /var/www/html/home/ThinkPHP/Library/Think/Db/Driver.class.php(180): Think\Db\Driver->error()
#2 /var/www/html/home/ThinkPHP/Library/Think/Model.class.php(1382): Think\Db\Driver->query('select count(id...')
#3 /var/www/html/home/Application/Home/Controller/SearchController.class.php(31): Think\Model->query('select count(id...')
#4 [internal function]: Home\Controller\SearchController->index(''', 'en')
#5 /var/www/html/home/ThinkPHP/Library/Think/App.class.php(171): ReflectionMethod->invokeArgs(Object(Home\Controller\SearchController), Array)
#6 /var/www/html/home/ThinkPHP/Library/Think/App.class.php(110): Think\App::invokeAction(Object(Home\Controller\SearchController), 'index')
#7 /var/www/html/home/ThinkPHP/Library/Think/App.class.php(204): Think\App::exec()
#8 /var/www/html/home/ThinkPHP/Library/Think/Think.class.php(120): Think\App::run()
#9 /var/www/html/home/ThinkPHP/ThinkPHP.php(97): Think\Think::start()
#10 /var/www/html/home/index.php(33): require('/var/www/html/h...')
错误告诉您去哪里查看...
%' or categoryMark like '%'%' or packageName like '%'%')
”字符串
'%'%'
中间有一个'
,你没有逃脱。
'%''%'
代替(其中
''
被视为文字字符,而不是字符串终止符).
至于是否
injectable
,任何时候你将字符串替换为查询时,它都是可注入的。
请使用
parameterisation
来代替。