亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

外鍵 ID 的問題'

外鍵 ID 的問題'

PHP
蕪湖不蕪 2022-12-03 11:08:00
我也在嘗試從數據庫和文件夾中刪除圖像。問題是,我不知道如何獲取圖像的 id 而不是 cardid。我的數據庫看起來像這樣:卡片id - name - etc.卡片圖片id - image - cardid (foreign key)這是我的代碼:    if (!empty($_POST['delete'])) {      $name = $conn->prepare("SELECT id, image FROM cardimages WHERE cardid= ?");      $name->bind_param('i', $_POST['id']);      $name->execute();      $res = $name->get_result();      $row = $res->fetch_assoc();      $name1 = $row['image'];      if ($stmt = $conn->prepare("DELETE FROM cardimages WHERE id = ?")) {        $stmt->bind_param('i', $row['id']);        unlink($_SERVER['DOCUMENT_ROOT'] . "/$name1");        $stmt->execute();        $stmt->close();      }    }問題在于這一行: $stmt->bind_param('i', $row['id']);我不知道如何在這里獲取圖像的id。
查看完整描述

1 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

這是我對上面的評論的擴展。

如果您能夠SELECT id, image FROM cardimages WHERE cardid= ?直接成功運行查詢并返回結果,請在您的代碼中嘗試以下操作。使用硬編碼為您知道在數據庫中的 Id 的變量進行$name->bind_param('i', $_POST['id']);更改$_POST['id'],例如:

$cardid = 123; //Replace 123 with an Id you know to be in the database.
$name->bind_param('i', $cardid); //bind_param requires a variable, which is why you need to create a variable with the hard coded id.

接下來,嘗試再次運行代碼。如果這次它成功返回一個值,那么您$_POST['id']沒有選擇合適的 ID,因此請檢查您提交 ID 的表單。表單上的常見問題是未指定method="POST"(默認表單方法是“GET”,因此如果未指定“POST”,您的代碼將不起作用),或者 ID 所在的字段名稱錯誤,可能類似于name="Id"(名稱區分大小寫)或沒有在輸入的值字段中填充 id。

但是,如果您的代碼在添加硬編碼 ID 后沒有返回值,那么您與數據庫的連接無法正常工作。檢查以確保您在創建新的 mysqli 連接時具有正確的值。您需要確保以下信息正確并按以下順序排列new mysqli("HOST","USERNAME","PASSWORD","DATABASE");這里常見的問題是主機不正確,有時主機不正確,localhost反之亦然127.0.0.1,或者用戶憑據錯誤或用戶無權訪問選擇的數據庫。有時,如果用戶沒有密碼,人們會跳過密碼字段,請確保在這種情況下,仍然填寫密碼字段""而不是跳過它。


查看完整回答
反對 回復 2022-12-03
  • 1 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號