簡體   English   中英

從表中選擇並插入另一個表

[英]Selecting from table and inserting in another table

首先,我對我的英語不好(不是我的主要語言)表示歉意

應該通過從訂單頁面選擇交易ID來選擇顯示有關訂單詳細信息的代碼,然后它將從order_items表中搜索數據庫並將其顯示給用戶。 如果這是我需要從同一表中顯示的信息,我對此沒有任何問題。 唯一的區別是它應該從另一個表中顯示。 (我已將外鍵設置為order_id)。

index.php

<a data-toggle="modal" data-target=".bs-example-modal-lg" href="viewform.php?view_id=<?php echo $row['id']; ?>">View Order Details</a>

viewform.php

if(isset($_GET['view_id']) && !empty($_GET['view_id']))
{
    $id = $_GET['view_id'];
    $stmt_edit = $DB_con->prepare('SELECT order_id, product_id, quantity FROM `order_items` WHERE id =:uid');
    $stmt_edit->execute(array(':uid'=>$id));
    $edit_row = $stmt_edit->fetch(PDO::FETCH_ASSOC);
    extract($edit_row);
}
else
{
    header("Location: index.php");

當我運行此代碼時,出現以下錯誤:

警告:extract()期望參數1為數組,在第13行的C:\\ xampp \\ htdocs \\ shopping_cart \\ cms \\ orders \\ editform.php中給出布爾值

致命錯誤:未被捕獲的PDOException:SQLSTATE [42000]:語法錯誤或訪問沖突:1064您的SQL語法有錯誤;請參閱附錄A。 檢查與您的MariaDB服務器版本對應的手冊以獲取正確的語法,以在C:\\ xampp \\ htdocs \\ shopping_cart \\ cms \\ orders \\ editform.php:42中的第4行的'WHERE ID = '34'附近使用。 #0 C:\\ xampp \\ htdocs \\ shopping_cart \\ cms \\ orders \\ editform.php(42):PDOStatement-> execute()#1 {main}放入C:\\ xampp \\ htdocs \\ shopping_cart \\ cms \\ orders \\ editform。第42行的php

找到了解決方案..這真的是一個簡單的解決方案。 它應該是order_id而不是id,因為它是從第一個表中獲取id並與第二個表進行驗證。

$stmt_edit = $db_con->prepare('SELECT order_id, product_id, quantity FROM order_items WHERE order_id =:uid');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM