Java 将可接受的路径字符串存储到MySQL
我试图将上传到Tomcat的文件路径存储到MySQL数据库中。我已将路径存储到名为filepath的字符串中,但在执行程序时,出现以下错误: “您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解第1行“:\Users\Nick\Desktop\bot.png)”附近使用的正确语法” 我使用的代码的一部分:Java 将可接受的路径字符串存储到MySQL,java,mysql,Java,Mysql,我试图将上传到Tomcat的文件路径存储到MySQL数据库中。我已将路径存储到名为filepath的字符串中,但在执行程序时,出现以下错误: “您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解第1行“:\Users\Nick\Desktop\bot.png)”附近使用的正确语法” 我使用的代码的一部分: String fileName = fi.getName(); String contentType = fi.getContentType(); boolean isI
String fileName = fi.getName();
String contentType = fi.getContentType();
boolean isInMemory = fi.isInMemory();
long sizeInBytes = fi.getSize();
// Write the file
if( fileName.lastIndexOf("\\") >= 0 ){
file = new File( filePath +
fileName.substring( fileName.lastIndexOf("\\"))) ;
}else{
file = new File( filePath +
fileName.substring(fileName.lastIndexOf("\\")+1)) ;
}
我想问题与路径的格式有关,但我对java非常陌生,因此我非常感谢您的帮助。先谢谢你 可以使用双反斜杠转义或正斜杠,也可以使用更好的语句。代码和stacktrace,没有它们我们不知道如何帮助。代码添加为advisedJust好奇。。。准备好的陈述有什么帮助?看看我知道什么是准备好的陈述。我的问题是如何帮助处理转义字符。阅读一下他们谈论的从SQL端转义的内容。将文本值分配给Java字符串(绑定到查询参数)时,仍然需要根据Java规则进行转义。因此,在本例中,OP必须按照您在答案开头的建议执行,即使更改为“准备好的语句”。您可以通过添加解释来强化您的答案,即使在本例中代码可能非常简单。
path = path.replaceAll((char) 92 + "" + (char) 92, (char) 47 + "");