2012-10-30 98 views
0

我正在使用存儲過程從數據庫中獲取數據。在php中存儲過程

$result = mysql_query("call FindProspectRequests('','Summit','','NULL','NULL')") or die (mysql_error()); 

,其中最後兩個參數是開始時間和結束時間,如果我爲我上面的程序工作直接調用。(字段被接受的值作爲NULL)

但考慮這種情況下, 當我打電話的下面它不適合我。

$starttime ='NULL'; 
$endtime ='NULL'; 

$result = mysql_query("call FindProspectRequests('','Summit','','$starttime','$endtime')") or die (mysql_error()); 

請告訴我我做錯了什麼?

感謝

+1

請不要使用'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

我想你只想做:

$starttime = "NULL"; 
$endtime = "NULL"; 

$result = mysql_query("call FindProspectRequests('','Summit','',$starttime,$endtime)") or die (mysql_error()); 

注意:您要發送的SQL字符串中去掉引號...

但是,我強烈建議您留意@Walee的建議dKhan並停止使用mysql_函數並在mysqli和PDO之間選擇...如果這是一個有很多代碼的應用程序,那麼已經切換到mysqi_ *命令的應用程序將以最少的更改進行。

+0

你的SQL語法有錯誤;請檢查與您的MySQL服務器版本對應的手冊,在第1行附近使用正確的語法以在'NULL'')附近使用 – user1667633

0

你應該嘗試

 $starttime = "'NULL'"; 
    $endtime = "'NULL'";