简体   繁体   English

为什么我的简单sql查询不起作用?

[英]Why doesn't my simple sql query work?

I have the following query which works fine: 我有下面的查询工作正常:

SET @var := 'test';

INSERT INTO yi5vu_roksprocket_items (module_id, provider, params)
VALUES ('122', 'simple', @var)

But if I change the variable such as written below it no longer works. 但是,如果我更改变量(例如下面编写的内容),它将不再起作用。

SET @var := '{"_article_title":"Simple Item 1","strips_item_title":"-none-","strips_item_image":"{'type':'mediamanager','path':'http:\/\/i.imgur.com\/fenrJmj.png','preview':'','link':'index.php?option=com_media&view=images&layout=default&tmpl=component&e_name=items_simple_1__params_strips_item_image'}","strips_item_link":"-default-","strips_item_description":"<html><body><div id=\"d_clip_button1\" class=\"btn btn-primary\" data-clipboard-text=\"[img]http:\/\/i.imgur.com\/fenrJmj.png[\/img]\" title=\"Copy.\"\">Copy<\/div>    <script type=\"text\/javascript\" src=\"ZeroClipboard.js\"><\/script><script type=\"text\/javascript\"> var client = new ZeroClipboard( document.getElementById('d_clip_button1') );<\/script><\/body><\/html>","tabs_item_title":"-default-","tables_item_title":"-default-","lists_item_title":"-default-","mosaic_item_title":"-default-","grids_item_title":"-default-","quotes_item_description":"-default-","grids_item_description":"-default-","tables_item_description":"-default-","tabs_item_icon":"-default-","mosaic_item_description":"-default-","tabs_item_link":"-default-","lists_item_image":"-default-","quotes_item_image":"-default-","tables_item_image":"-default-","grids_item_image":"-default-","mosaic_item_image":"-default-","mosaic_item_link":"-default-","tabs_item_description":"-default-","grids_item_link":"-default-","tables_item_price":"-none-","tables_item_feature_1":"-none-","quotes_item_author":"-none-","lists_item_link":"-default-","mosaic_item_tags":"-article-","sliders_item_title":"-default-","features_item_title":"-default-","quotes_item_subtext":"-none-","tables_item_feature_2":"-none-","sliders_item_description":"-default-","headlines_item_image":"-default-","tables_item_feature_3":"-none-","lists_item_description":"-default-","quotes_item_link":"-default-","features_item_description":"-default-","quotes_item_direction":"-bottomleft-","features_item_image":"-default-","sliders_item_image":"-default-","headlines_item_link":"-default-","tables_item_feature_4":"-none-","tables_item_link":"-default-","features_item_link":"-default-","headlines_item_description":"-default-","sliders_item_link":"-default-","tables_item_link_text":"Buy Now"}';

INSERT INTO yi5vu_roksprocket_items (module_id, provider, params)
VALUES ('122', 'simple', @var)

What is causing this issue? 是什么导致此问题? I presume it's the single or back quotes, but I've tried every combination possible. 我认为它是单引号或反引号,但是我尝试了所有可能的组合。 The get a 1064 query error. 获取1064查询错误。

I simply want to take what's inside @var and inject it into params. 我只是想获取@var里面的内容并将其注入params中。

Since your string starts with a single-quote you cannot have any other single-quotes inside the string itself unless they are preceded by a back-slash. 由于您的字符串以单引号开头,因此,字符串本身内部不能包含任何其他单引号,除非它们前面带有反斜杠。

So 'don't do this' is a bad string by 'don\\'t do this' is fine. 因此,“不要这样做”是一个错误的字符串,因为“不要这样做”是可以的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM