2012-11-27 51 views
0

我一直在研究MySQL數據庫,現在我開始爲它做一些基本的功能;像單行刪除,更新等...我的問題是,我的PHP文件沒有發送數據到數據庫/表。我檢查了這些變量,他們得到了表格,但沒有顯示錯誤信息,只有一個通知。mysql/php插入不做任何事也沒有錯誤

我的代碼是:

$tablanev = $_POST['tablaNev']; 
$oktazon = $_POST['OktAzon']; 
$ehaazon = $_POST['EHA']; 
$teljnev = $_POST['TeljesNev']; 
$szemelyszam = $_POST['Szemelyazon']; 
$anyanyelv = $_POST['Anyanyelv']; 
$vegzettseg = $_POST['Vegzettseg']; 
$anyanev = $_POST['AnyjaNeve']; 
$szulhely = $_POST['SzulHe']; 
$szulev = $_POST['SzulEv']; 
$allampolg = $_POST['Allampolg']; 
$neme = $_POST['Nem']; 
$adoaz = $_POST['AdoSz']; 
$taj = $_POST['TajSz']; 
$bszamla = $_POST['BankSz']; 

mysql_connect("localhost","root","alma"); 
mysql_select_db('etr'); 
mysql_query("INSERT INTO $tablanev(`OktAzonosito`,`EHAazonosito`,`TeljesNev`,`Szemelyazonosito`,`AnyaNyelv`,`VegzettsegSzint`,`AnyjaNeve`,`SzuletesiHely`,`SzuletesiEv`,`Allampolgarsag`,`Neme`,`Adoazonosito`,`TAJszam`,`BankszamlaSzam`) VALUES ('$oktazon','$ehaazon','$teljnev','$szemelyszam','$anyanyelv','$vegzettseg','$anyanev','$szulhely','$szulev','$allampolg','$neme','$taj','$bszamla')"); 

echo "Az adat sikeresen fel lett véve a táblába!!\n"; 

而且我已經檢查表的名字,他們配合得非常完美。

+0

有你在將它們添加到查詢之前將sql變量轉義了任何後置變量?它看起來並不像它,這意味着你的代碼對被黑客攻擊和意外的錯誤是敞開的。另外請注意,'mysql_xxx()'函數被認爲是過時且不安全的;建議您改用「mysqli_xx()」函數或PDO庫。 – SDC

+0

thx的信息!我真的不知道最好的方法,casue我剛剛開始學習最近。但我會看看它沒有:) – JohnnnnnY

+0

無後顧之憂。閱讀此問題以獲取有關使用哪些函數的更多信息:http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-function-in-php。該答案還包含有關防止SQL注入攻擊的信息和更多鏈接。 – SDC

回答

1

你應該捕獲錯誤,看看發生了什麼:

mysql_query("INSERT INTO $tablanev(`OktAzonosito`,`EHAazonosito`,`TeljesNev`,`Szemelyazonosito`,`AnyaNyelv`,`VegzettsegSzint`,`AnyjaNeve`,`SzuletesiHely`,`SzuletesiEv`,`Allampolgarsag`,`Neme`,`Adoazonosito`,`TAJszam`,`BankszamlaSzam`) VALUES ('$oktazon','$ehaazon','$teljnev','$szemelyszam','$anyanyelv','$vegzettseg','$anyanev','$szulhely','$szulev','$allampolg','$neme','$taj','$bszamla')") or die("Error: ".mysql_error()); 
1

嘗試設置變量這樣

$result = mysql_query("INSERT INTO $tablanev(`OktAzonosito`,`EHAazonosito`,`TeljesNev`,`Szemelyazonosito`,`AnyaNyelv`,`VegzettsegSzint`,`AnyjaNeve`,`SzuletesiHely`,`SzuletesiEv`,`Allampolgarsag`,`Neme`,`Adoazonosito`,`TAJszam`,`BankszamlaSzam`) VALUES ('$oktazon','$ehaazon','$teljnev','$szemelyszam','$anyanyelv','$vegzettseg','$anyanev','$szulhely','$szulev','$allampolg','$neme','$taj','$bszamla')"); 

if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

順便說一下,你應該使用的MySQLi或PDO_MYSQL擴展,使用你使用氣餒延長。

編號:http://php.net/manual/en/function.mysql-query.php

編輯:你會錯過在查詢的說法正確的是:

"INSERT INTO $tablanev(`OktAzonosito`,`EHAazonosito`,`TeljesNev`,`Szemelyazonosito`,`AnyaNyelv`,`VegzettsegSzint`,`AnyjaNeve`,`SzuletesiHely`,`SzuletesiEv`,`Allampolgarsag`,`Neme`,`Adoazonosito`,`TAJszam`,`BankszamlaSzam`) VALUES ('$oktazon','$ehaazon','$teljnev','$szemelyszam','$anyanyelv','$vegzettseg','$anyanev','$szulhely','$szulev','$allampolg','$neme',' $adoaz','$taj','$bszamla')" 
+0

它說第1行的列數不匹配,所以這意味着我試圖插入錯誤的數據,或者我忘記了一些東西,對不對? – JohnnnnnY

+0

你想念一個論點,我認爲你必須添加$ adoaz到你的查詢:) – rikpg

+0

該死的,:D thx注意到......我想我越來越累X) – JohnnnnnY

相關問題