2013-11-15 215 views
-2

我想知道如何在php函數中執行mysqli操作。我嘗試使用提交按鈕使用mysqli_query(),mysqli_fetch_array()方法,它工作。但在按鈕類型=「按鈕」我不得不使用功能。這些功能不適用於這些方法。我怎樣才能執行這些mysql內部的PHP函數查詢?如何在php函數中使用Mysql?

global $con;  
$con = mysqli_connect("localhost","root","");  
if(!$con) 
    die("Error: ". mysqli_error());  
else 
mysqli_select_db($con,"cityscape_content_management"); 

function delete_user() 
{  
include("PHP_Files/PHP_Form_Fields.php");  
    $id = $_POST["txtEmpID"];  
    $query_del = "delete from User_Register where emp_id = $id"; 

if(mysqli_query($con,$query_del)) 
    echo "Record Deleted";  
else 
    echo "Error :".mysqli_error($con); 
} 
+0

您的按鈕,如果「不工作」的意思是「我得到了一個未定義的變量聲明」,你應該提到它。如果您沒有收到任何意味着您的腳本正在拋出錯誤,但尚未配置PHP以顯示錯誤消息的消息。這是你在進一步研究之前需要解決的問題;沒有錯誤消息的幫助,就不可能正確編碼。這裏有一個[簡要說明](http://stackoverflow.com/a/5680885/13508)。 –

回答

0

你必須通過$con的功能,否則就不是在那裏定義。

+0

它的工作,但似乎有一些代碼的問題,phpmyadmin不會刷新..後mysql操作插入,更新,刪除,選擇 – shruti

-1

使用全局內部函數,你已經在外面使用它。

function delete_user() 
    { 
    global $con; 
    include("PHP_Files/PHP_Form_Fields.php"); 

     $id = $_POST["txtEmpID"]; 

     $query_del = "delete from User_Register where emp_id = $id"; 

    if(mysqli_query($con,$query_del)) 
     echo "Record Deleted"; 

    else 
     echo "Error :".mysqli_error($con); 
    } 
+2

呃,全局變量... –

+0

-1 SQL注入全局變量包括與未知方效果......你是在寫**最糟糕的**可能的代碼? –

+0

*理論-1 * ...我不會真的downvote,因爲這個代碼在技術上沒有什麼不正確。但「全球化」可能是解決這個問題的最糟糕的方法。永遠不要這樣做。 – rdlowrey

0

您可以通過$ CON並且$ id變量作爲函數參數:

$con = mysqli_connect("localhost","root","") or trigger_error(mysqli_error());  
mysqli_select_db($con,"cityscape_content_management") or trigger_error(mysqli_error($con)); 
delete_user($_POST["txtEmpID"], $con); 

功能:

function delete_user($id, $con) 
{  
    $id = intval($id); 
    include("PHP_Files/PHP_Form_Fields.php");  
    $query_del = "delete from User_Register where emp_id = $id"; 

    if(mysqli_query($con, $query_del)) 
     echo "Record Deleted";  
    else 
     echo "Error :" . mysqli_error($con); 
} 
+0

刪除操作後,phpmyadmin數據庫沒有被刷新。此外,它刪除了幾條記錄和其他記錄停止工作..什麼可能是可能的問題...我使用按鈕,而不是提交,因爲每次點擊後提交重新加載頁面.. – shruti

0

建議您使用PDO,它看起來更友好作品非常安全

0

button type =「button」不會將數據發佈到serv呃,所以你的功能將無法正常工作, 要麼你保持類型=提交或者如果你想類型=按鈕,那麼你需要提交的點擊事件格式如

1)onlick = 'document.getElementById("frm1").submit()';

其中的frm1是表單ID 或

2)類似的代碼

<button type="submit" formaction="delete.php" value="delete" /> 
+0

但如果我提交,頁面重新加載..我不想重新發生。如果我使用preventDefault()去激活重載,那麼函數不工作.. – shruti

+0

如果你不重新加載PHP代碼將不會執行,導致運行PHP代碼數據必須發送到服務器,否則它不會工作,或者你可以使用Ajax做任務不刷新 – ddw147

相關問題