2012-08-26 42 views
1

我創建了一個存儲過程,當我調用它時出現錯誤。調用存儲過程時發生Mysql錯誤

您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊正確的語法使用近'results0.79123800 + 1345985910.html「)」在1號線

這是我如何把它從我的PHP代碼:

mysql_query("CALL lastscan($task_id,'$file_name')") or die(mysql_error()); 

我有我的數據庫中的SP ..

如果是報價的事情,我怎麼逃出我把裏面的變量,無需修改存儲過程?

+0

請不要使用'mysql_ *'函數編寫新代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。查看[*紅色框*](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –

+0

如果是引用的話,則使用準備好的語句。 – knittl

+1

無需垃圾評論。我正在使用pdo ..它是一箇舊的應用程序,我正在努力..我現在不在乎。 knittl ..我無法使用mysql_query到mysqli/pdo之間進行交換.. –

回答

1

在這裏你有不正確的語法,用這個請:

mysql_query("CALL lastscan('" .$task_id. "', '" .$file_name. "')") or die(mysql_error()); 
+1

hmmm..awesome..it一直工作 –

+1

@Dmitry Makovetskiyd,請批准答案 – EbinPaulose

+0

對不起... ...我現在做了 –