Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 使用fireSQL转义单引号_Angular_Typescript_Firebase_Google Cloud Firestore_Angularfire - Fatal编程技术网

Angular 使用fireSQL转义单引号

Angular 使用fireSQL转义单引号,angular,typescript,firebase,google-cloud-firestore,angularfire,Angular,Typescript,Firebase,Google Cloud Firestore,Angularfire,我在Angular项目中使用Firebase Firestore,最近有一个名为fireSQL的项目在Firestore中使用SQL语句查询,它工作得很好,但当我尝试选择某个值只有一个引号的项目时,它只会发送一个错误。我尝试使用所有JavaScript技术来逃避,但什么也没发生 错误消息: 错误 对象{消息:应为\!=\,\%\,\*\,\+\,\-\,\/\, \=\、\和\、\GROUP\, \限制\、\或\、\顺序\、\联合\、空白或输入结束 但是\s\found.,应为:29[…],fo

我在Angular项目中使用Firebase Firestore,最近有一个名为fireSQL的项目在Firestore中使用SQL语句查询,它工作得很好,但当我尝试选择某个值只有一个引号的项目时,它只会发送一个错误。我尝试使用所有JavaScript技术来逃避,但什么也没发生

错误消息:

错误

对象{消息:应为\!=\,\%\,\*\,\+\,\-\,\/\, \=\、\和\、\GROUP\, \限制\、\或\、\顺序\、\联合\、空白或输入结束 但是\s\found.,应为:29[…],found:s,位置:{…}, 名称:SyntaxError,堆栈:}

查询是:

getBrandfromSubbrand,sub{ const fireSQL=新的FireSQLfirebase.firestore; 返回fireSQL.rxQuery`SELECT*FROM-products,其中brand='${brand}'和subcategory='${sub}`; }
您需要在作为SQL查询发送的字符串中转义单引号。FireSQL表示\\'是的转义序列。因此,您的代码可以执行以下操作。如果需要转义其他特殊字符,则需要将它们添加到escapeSingleQuotes方法中

getBrandfromSubbrand,sub{ const fireSQL=新的FireSQLfirebase.firestore; 返回fireSQL.rxQuery `从产品中选择*,其中brand='${this.escapeSingleQuotesbrand}'和subcategory='${this.escapeSingleQuotessub}'; } escapeSingleQuotess:字符串{ 返回s.replace',\\'; }
这个问题不会解决您的问题,但是您使用的查询必须向rxQuery传递一个字符串吗?否则它甚至无法编译。rxQuery`从产品中选择*,其中brand=${brand}和subcategory=${sub}`@Collierre感谢您的快速重播,是的,它应该使用rxQuery从firestore数据库获取数据。是的,但我的意思是,您发布的代码不能是您正在使用的实际代码,因为您没有向rxQuery传递字符串参数。您发布的代码是否与您实际使用的代码完全相同?或者它看起来像我评论中的代码吗?我用我的代码更新了帖子。同样的问题和同样的错误消息我以前也使用过反斜杠方法,但结果相同。在''之前使用两个反斜杠怎么样?FireSQL源指示\\'是的转义版本。我以前用过,现在又用过,但问题是一样的。我添加\\',然后用CTRL+SHIFT+R刷新页面以重新加载缓存,它就可以工作了