我準備拉我的頭髮了......PHP,請求mysql_query只是不工作
這完美的作品:
$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "INSERT INTO wp_zsession_capture
(id, session_id, user_login, first_name, last_name, user_email, phone_number, last_conviction)
VALUES (
'NULL',
'". session_id() ."',
'". $_POST['user_login'] ."',
'". $_POST['first_name'] ."',
'". $_POST['last_name'] ."',
'". $_POST['user_email'] ."',
'". $_POST['phone_number'] ."',
'". $_POST['last_conviction'] ."'
)";
mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);
這確實不工作:
$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "UPDATE wp_zsession_capture SET removed = 1 WHERE session_id = '$sessionid'";
mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);
這兩段代碼都在一個表單中......如果表單中有錯誤,則運行FIRST sql查詢以保存當前會話中的所有內容。如果沒有錯誤,並且在發生其他一些事情之後,則運行SECOND sql查詢以更新那些先前保存的條目中的「已刪除」狀態。
我一直在擺弄一百萬替代語法,我不能讓那些要更新的行。當我在phpMyAdmin中執行原始SQL時,它工作正常。沒有什麼合乎邏輯的......或者我只是非常疲倦。
供參考:$ sessionid = session_id();
- UPDATE -
我真的很感激大家的關心,但讓我處理一些事情:
- 是的,有我在命名錶「刪除」一欄.. 。 你是認真的嗎? :P
- 我當然使用session_start();
- 是的,我正在檢查$ sessionid,以確保它被調用。它在任何時候都在頁面上回應,並且也在我執行的任何
die
陳述中。 - FIRST查詢負責創建SECOND查詢應該更新的行...所以數據就在那裏。
mysql_error()
不會產生任何東西......沒有任何錯誤。
再次感謝您的關注,但到目前爲止,所有建議都已經過嘗試並再次嘗試。
你檢查,如果$的SessionID包含一個有效的ID?如果沒有錯誤,則可能意味着數據庫中沒有匹配的行。另外:你的第一個查詢不會做輸入驗證......你好鮑比表。 – Gryphius 2012-02-01 07:16:36
你在該表格中「刪除」了一列嗎? – djot 2012-02-01 07:16:43
爲什麼人們不把mysql_error超出我的理解。他用它連接主機。 更糟的是,php中的書籍在其示例中使用了mysql_error。 P.s.你的代碼有sql注入漏洞。使用PDO。它不那麼困難,以後會讓你免於許多麻煩。 – itachi 2012-02-01 08:33:45