数据库错误:Insert error 1064

该错误一般是sql语句语法出现了问题。但是我有一条语句有时候没有问题,有时候就会出问题(偶尔)。很奇怪:

sprintf(sql,"insert into `%s` (`url`,`content`) VALUES ('%s','%s')",table,url,page);

sql、table、url、page都是变量。

语法没问题啊,其实是变量的原因,有些变量中带有了(‘),这个没有转义的话,sql语句就是有问题的。

所以在执行sql语句之前应该先处理一下(’)号的问题。

利于如下代码,主要是处理url,还有page:

for(i=0;i<len;i++)
    if(page[i]==39)
        page[i]=' ';

url做同样处理即可。

你可能感兴趣的:(数据库错误:Insert error 1064)