\n \n \n <\/td>\n <\/tr>\n <\/table>\n <\/form>\n <\/td>\n <\/tr>\n <\/table> \n ';\n }\n }\n mysqli_close($dbc);\n ?>\n <\/body>\n<\/html><\/code><\/pre>\n 修正:<\/strong><\/p>\n\n- 將複選框名稱視為陣列:name=\"checkbox []\" 而不是name=\"checkbox\"。 <\/li>\n
- 將 $dbc 資料庫連接傳遞給每個 mysqli_query 調(diào)用,如 $result = mysqli_query($dbc, $sql); 所示。 <\/li>\n<\/ol>
透過這些修改,程式碼應(yīng)該根據(jù)所選的複選框正確刪除多行。 <\/p>"}
首頁
後端開發(fā)
php教程
如何在 PHP 中使用複選框刪除多行:解決常見錯誤並確保成功執(zhí)行?
如何在 PHP 中使用複選框刪除多行:解決常見錯誤並確保成功執(zhí)行?
Oct 26, 2024 am 04:00 AM

使用PHP 透過選擇複選框刪除多行:常見錯誤故障排除
使用PHP 從MySQL 資料庫表中刪除多行時,使用複選框選擇連結(jié)需要仔細(xì)編碼確保成功執(zhí)行。此程式碼片段提供了常見問題的解決方案:
<code class="php"><html>
<head>
<title>Links Page</title>
</head>
<body>
<h2>Choose and delete selected links.</h2>
<?php
$dbc = mysqli_connect('localhost','root','admin','sample') or die('Error connecting to MySQL server');
$query = "select * from links ORDER BY link_id";
$result = mysqli_query($dbc,$query) or die('Error querying database');
$count=mysqli_num_rows($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<form name="form1" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF"> </td>
<td colspan="3" bgcolor="#FFFFFF">
<strong>Delete multiple links</strong>
</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">#</td>
<td align="center" bgcolor="#FFFFFF">
<strong>Link ID</strong>
</td>
<td align="center" bgcolor="#FFFFFF">
<strong>Link Name</strong>
</td>
<td align="center" bgcolor="#FFFFFF">
<strong>Link URL</strong>
</td>
</tr>
<?php
while ($row=mysqli_fetch_array($result)) {
?>
<tr>
<td align="center" bgcolor="#FFFFFF">
<input name="checkbox[]" type="checkbox" value="<?php echo $row['link_id']; ?>">
</td>
<td bgcolor="#FFFFFF"> <?php echo $row['link_id']; ?> </td>
<td bgcolor="#FFFFFF"> <?php echo $row['link_name']; ?> </td>
<td bgcolor="#FFFFFF"> <?php echo $row['link_url']; ?> </td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center" bgcolor="#FFFFFF">
<input name="delete" type="submit" value="Delete">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?php
// Check if delete button active, start this
if(isset($_POST['delete']))
{
$checkbox = $_POST['checkbox'];
for($i=0; $i<count($checkbox); $i++) {
$del_id = $checkbox[$i];
$sql = "DELETE FROM links WHERE link_id='$del_id'";
$result = mysqli_query($dbc, $sql); // Pass the database connection here
}
// if successful redirect to view_links.php
if($result){
echo '<meta http-equiv="refresh" content="0;URL=view_links.php">';
}
}
mysqli_close($dbc);
?>
</body>
</html></code>
修正:
- 將複選框名稱視為陣列:name="checkbox []" 而不是name="checkbox"。
- 將 $dbc 資料庫連接傳遞給每個 mysqli_query 調(diào)用,如 $result = mysqli_query($dbc, $sql); 所示。
透過這些修改,程式碼應(yīng)該根據(jù)所選的複選框正確刪除多行。 以上是如何在 PHP 中使用複選框刪除多行:解決常見錯誤並確保成功執(zhí)行?的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn
如何升級PHP版本?
Jun 27, 2025 am 02:14 AM
升級PHP版本其實(shí)不難,但關(guān)鍵在於操作步驟和注意事項(xiàng)。以下是具體方法:1.確認(rèn)當(dāng)前PHP版本及運(yùn)行環(huán)境,使用命令行或phpinfo.php文件查看;2.選擇適合的新版本並安裝,推薦8.2或8.1,Linux用戶用包管理器安裝,macOS用戶用Homebrew;3.遷移配置文件和擴(kuò)展,更新php.ini並安裝必要擴(kuò)展;4.測試網(wǎng)站是否正常運(yùn)行,檢查錯誤日誌確保無兼容性問題。按照這些步驟操作,大多數(shù)情況都能順利完成升級。
PHP初學(xué)者指南:當(dāng)?shù)丨h(huán)境配置的詳細(xì)說明
Jun 27, 2025 am 02:09 AM
要設(shè)置PHP開發(fā)環(huán)境,需選擇合適的工具並正確安裝配置。 ①最基礎(chǔ)的PHP本地環(huán)境需要三個組件:Web服務(wù)器(Apache或Nginx)、PHP本身和數(shù)據(jù)庫(如MySQL/MariaDB);②推薦初學(xué)者使用集成包如XAMPP或MAMP,它們簡化了安裝流程,XAMPP適用於Windows和macOS,安裝後將項(xiàng)目文件放入htdocs目錄並通過localhost訪問;③MAMP適合Mac用戶,支持便捷切換PHP版本,但免費(fèi)版功能有限;④高級用戶可用Homebrew手動安裝,在macOS/Linux系統(tǒng)中
在Linux上配置PHP開發(fā)環(huán)境的步驟
Jun 30, 2025 am 01:57 AM
TosetupaPHPdevelopmentenvironmentonLinux,installPHPandrequiredextensions,setupawebserverlikeApacheorNginx,testwithaPHPfile,andoptionallyinstallMySQLandComposer.1.InstallPHPandextensionsviapackagemanager(e.g.,sudoaptinstallphpphp-mysqlphp-curlphp-mbst
如何將兩個PHP陣列組合獨(dú)特的值?
Jul 02, 2025 pm 05:18 PM
要合併兩個PHP數(shù)組並保留唯一值,有兩種主要方法。 1.對於索引數(shù)組或僅需值去重的情況,使用array_merge和array_unique組合:先用array_merge($array1,$array2)合併數(shù)組,再用array_unique()去重,最終得到包含所有唯一值的新數(shù)組;2.對於關(guān)聯(lián)數(shù)組且希望保留第一個數(shù)組中的鍵值對時,使用 運(yùn)算符:$result=$array1 $array2,這將確保第一個數(shù)組中的鍵不會被第二個數(shù)組覆蓋。這兩種方法分別適用於不同場景,根據(jù)是否需要保留鍵名或只關(guān)注
如何防止PHP中的跨站點(diǎn)偽造偽造(CSRF)攻擊?
Jun 28, 2025 am 02:25 AM
TopreventCSRFattacksinPHP,implementanti-CSRFtokens.1)Generateandstoresecuretokensusingrandom_bytes()orbin2hex(random_bytes(32)),savethemin$_SESSION,andincludetheminformsashiddeninputs.2)ValidatetokensonsubmissionbystrictlycomparingthePOSTtokenwiththe
PHP正則密碼強(qiáng)度
Jul 03, 2025 am 10:33 AM
判斷密碼強(qiáng)度需結(jié)合正則與邏輯處理,基礎(chǔ)要求包括:1.長度不少於8位;2.至少含小寫字母、大寫字母、數(shù)字;3.可加入特殊字符限制;進(jìn)階方面需避免連續(xù)重複字符及遞增/遞減序列,這需PHP函數(shù)檢測;同時應(yīng)引入黑名單過濾常見弱密碼如password、123456;最終建議結(jié)合zxcvbn庫提升評估精度。
如何在PHP中牢固地處理文件上傳?
Jul 08, 2025 am 02:37 AM
要安全處理PHP文件上傳需驗(yàn)證來源與類型、控製文件名與路徑、設(shè)置服務(wù)器限制並二次處理媒體文件。 1.驗(yàn)證上傳來源通過token防止CSRF並通過finfo_file檢測真實(shí)MIME類型使用白名單控制;2.重命名文件為隨機(jī)字符串並根據(jù)檢測類型決定擴(kuò)展名存儲至非Web目錄;3.PHP配置限制上傳大小及臨時目錄Nginx/Apache禁止訪問上傳目錄;4.GD庫重新保存圖片清除潛在惡意數(shù)據(jù)。
發(fā)電機(jī)如何在PHP中工作?
Jul 11, 2025 am 03:12 AM
AgeneratorinPHPisamemory-efficientwaytoiterateoverlargedatasetsbyyieldingvaluesoneatatimeinsteadofreturningthemallatonce.1.Generatorsusetheyieldkeywordtoproducevaluesondemand,reducingmemoryusage.2.Theyareusefulforhandlingbigloops,readinglargefiles,or
See all articles
|