2012-12-20 37 views
0

我想在PHP執行SQL命令,例如如何在不提交表單的情況下在PHP中調用sql命令?

$query_run = mysql_query($query); 

。但我可以找到觸發事件PHP的唯一方式是使用提交表單:

if(isset$POST['submit']) { 
    $query_run = mysql_query($query); 
} 

但是這將刷新頁面,擦去在頁面上動態創建的每一件事情。

我想要的是有一個按鈕,按下它來觸發sql命令,而不需要像js中的onclick那樣重新加載頁面。但是,sql命令不能在js函數中運行(我可以找到)。

+5

[**請不要使用'mysql_ *'在新代碼的功能**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

+2

看看阿賈克斯。 –

+0

感謝您的教程,它有很大的幫助。我剛剛用PDO取代了舊代碼。那麼,我現在可以在js裏面使用PDO了? –

回答

1

PHP是解析服務器端,這意味着你不能在沒有發出服務器請求的情況下運行代碼。一旦頁面交付給客戶端,任何php解析都已完成。

您可以創建一個按鈕或鏈接,它將通過AJAX調用javascript將http請求發送到一個小型php腳本,用於完成數據庫工作。你不會再打電話給你的整個頁面。從這個輸出返回到JavaScript,並可用於更新CSS塊元素成功或失敗的通知。

這裏是W3C阿賈克斯教程http://www.w3schools.com/ajax/default.asp

1

你需要做的是一個AJAX調用。這要求使用Javascript(最好在諸如jQuery之類的庫的幫助下)從頁面彙編日期,調用PHP頁面並將結果呈現在頁面上。

相關問題