我正在創建一個頁面,其中取決於HTML表單數據從數據庫中插入/更新/刪除。通過PHP修復MySQL查詢
至於UPDATE
去,我沒有更多的想法如何解決它。問題是,你可以更新任何你想要的東西(例如nazwa_klubu
,如果假設你已經改變了舊的nazwa_klubu
,並想在數據庫中保留新名稱(nazwa klubu =俱樂部名稱),則鍵入你的名字想換到Nazwa klubu
在Wprowadz zmiany
形式,然後在第二Nazwa klubu
你鍵入要更改的名稱。
- 我相信這是一個小的升級,使這一切工作,而不必把無數如果的情況下,但這是我的PHP第三天,所以我很困惑。
編輯:因此,基本上,如果所有字段都填滿,此功能正常工作。但即使我們填充了一些領域,我也希望它能夠工作 - 嗯,我希望你明白我的觀點。如果你甚至不能正確使用它,那麼UPDATE的意義何在?修辭Q.
,這是它目前是如何工作的:
UPDATE Koncerty SET nazwa_klubu = 'NewClubName', WHERE nazwa_klubu = 'OldClubName' AND
但很明顯,我想這是這樣工作的:
UPDATE Koncerty SET nazwa_klubu = 'NewClubName' WHERE nazwa_klubu = 'OldClubName'
不管有多少輸入的I」我將填寫此表格。前5個輸入負責SET
方,而後5個輸入負責WHERE
條。
這裏的功能
function update($table, $data)
{
$new_klub = 'nazwa_klubu = ' . '\'' . $data[data1] . '\',';
$new_adres = 'adres_klubu = ' . '\'' . $data[data2] . '\',';
$new_zespol = 'nazwa_zespolu = ' . '\'' . $data[data3] . '\',';
$new_ile = 'ilosc_czlonkow_zespolu = ' . '\'' . $data[data4] . '\',';
$new_wystep = 'data_wystepu = ' . '\'' . $data[data5] . '\',';
$klub = 'nazwa_klubu = ' . '\'' . $data[data6] . '\' AND';
$adres = 'adres_klubu = ' . '\'' . $data[data7] . '\' AND';
$zespol = 'nazwa_zespolu = ' . '\'' . $data[data8] . '\' AND';
$ile = 'ilosc_czlonkow_zespolu = ' . '\'' . $data[data9] . '\' AND';
$wystep = 'data_wystepu = ' . '\'' . $data[data10] . '\'';
if (empty($data[data1]) AND empty($data[data2]) AND
empty($data[data3]) AND empty($data[data4]) AND empty($data[data5])) {
echo '<span class="error">Zabezpieczenie: Musisz wpisac jakie zmiany chcesz wprowadzic</span>';
exit;
}
if (empty($data[data6]) AND empty($data[data7]) AND
empty($data[data8]) AND empty($data[data9]) AND empty($data[data10])) {
echo '<span class="error">Zabezpieczenie: Musisz wpisac na czym chcesz dokonac zmian</span>';
exit;
}
if (empty($data[data1])) {
$new_klub = '';
}
if (empty($data[data2])) {
$new_adres = '';
}
if (empty($data[data3])) {
$new_zespol = '';
}
if (empty($data[data4])) {
$new_ile = '';
}
if (empty($data[data5])) {
$new_wystep = '';
}
if (empty($data[data6])) {
$klub = '';
}
if (empty($data[data7])) {
$adres = '';
}
if (empty($data[data8])) {
$zespol = '';
}
if (empty($data[data9])) {
$ile = '';
}
if (empty($data[data10])) {
$wystep = '';
}
$safe_updates = "SET SQL_SAFE_UPDATES = 0";
$sql = "UPDATE $table SET
$new_klub
$new_adres
$new_zespol
$new_ile
$new_wystep
WHERE
$klub
$adres
$zespol
$ile
$wystep
";
echo $new_klub;
mysql_query($safe_updates);
$result = mysql_query($sql);
if (!$result) {
echo '<span class="error">' . mysql_error() . '</span><br>' . $sql . '';
}
else {
echo '<span class="success">Wprowadzono zmiany' . $sql . '</span><br>';
}
}
'AND'後面是什麼? –
那麼,在這個例子中沒有任何東西,因爲在其他字段中的輸入是空的,它會在每個變量之後加上','s和'AND',以使它在完整查詢中工作。閱讀有問題的**編輯**部分。 順便說一下,當你閱讀代碼時,這一切都很清楚。 –
我想你在$ new_wystep的最後有一個額外的逗號,所以它抱怨WHERE正好在它之後。 –