2011-05-12 59 views
1

我正在使用PHP和MySQL進行事務處理。使用PHPMyAdmin我將查詢插入到我的大學數據庫中,我應該在某些表中使用事務。到目前爲止,我已經爲我的員工交易製作了這段代碼,但是我的問題是如何獲取addStaff.php中插入的信息,以便我可以將它用作此代碼的查詢?正確的地方說://values();php/mysql事務

<?php 
function begin() 
{ 
    mysql_query("BEGIN"); 
} 
function commit() 
{ 
    mysql_query("COMMIT"); 
} 
function rollback() 
{ 
    mysql_query("ROLLBACK"); 
} 

mysql_connect("localhost","username", "password") or die(mysql_error()); 
mysql_select_db("test") or die(mysql_error()); 
$query = "INSERT INTO Staff (id,name,position,phone,email,roomNumber,dnumber)" 
//values(); 

begin(); // BEGIN 
$result = mysql_query($query); 
if(!$result) 
{ 
    rollback(); // ROLLBACK 
    echo "You rolled back"; 
    exit; 
} 
else 
{ 
    commit(); // COMMIT 
    echo "Transaction was succesful"; 
} 
?> 
+1

請在代碼之前停止使用那些前綴「@」,這會爲您提供更好的錯誤描述。 ''''''''''''''''''''''''''''''''''後面的''' – 2011-05-12 19:41:04

+0

感謝您讓我知道 – 2011-05-12 19:56:47

+0

插入到addStaff.php中的值是什麼意思?如果是這樣,使用'$ _POST ['input_name ]'或'$ _GET ['input_name']' – Dormouse 2011-05-12 20:19:15

回答

0

如果我理解你的問題是正確的,你需要知道如何提示輸入數據,接受它,並把它插入到數據庫:

<?php 
    if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

     ... connect to the database ... 

     $sometext = $_POST['textfield']; // retrieve the value from the form 

     $qsometext = mysql_real_escape_string($sometext); // make it safe for the query 

     $sql = "INSERT INTO mytable (textfield) VALUES ($qsometext);" // build the sql query 

     $result = mysql_query($sql) or die(mysql_error()); // run the query 

    } 
?> 

<html> 

<body> 
<form method="POST"> 
<input type="text" name="textfield"><input type="submit"> 
</form> 

</body> 

</html> 

這是如何表現出一個準系統版本表單,然後將用戶的數據插入到數據庫中,只需重新顯示for即可m獲取更多數據。

+0

不應該使用單引號在'$ qsometext'附近? – 2011-05-12 20:36:39

1

這也許是你在找什麼:

$new_row = mysql_insert_id(); 
$query = mysql_query("SELECT * FROM `Staff` WHERE `id`=".$new_row); 
$r = mysql_fetch_assoc($query); 

echo $r['name']; 

會響應插入的行名。

編輯:這是如何做到的事情,你需要在SQL注入讀了起來,準備語句/避災用戶輸入,XSS攻擊和更多的要害部位移動任何東西到生產環境之前一個非常非常基本的版本SQL查詢安全

+0

請注意,您需要使用'htmlspecialchars'來正確地將輸出編碼到HTML頁面(以防止XSS)。 – 2011-05-12 20:37:25

+1

我認爲給出這個問題有許多事情需要OP瞭解並編輯了我的答案 – Dormouse 2011-05-12 20:41:43

+0

好的補充:安全應該從一開始就是建築的一部分,而不是作爲一種事後的想法。 – 2011-05-12 21:11:33