簡體   English   中英

從另一個表以及MYSQL和PHP中的表單插入數據

[英]Insert data from another table and also from form in MYSQL and PHP

我有一個表格,我將數據發布到mysql。 查詢應該將表單中的數據插入到table1中,還應該包含另一個table2中的數據,其中從表單中發送的ID等於table2中的ID?

我使用舊的mysql連接,我知道,不是最好的:-)和php!

希望有人可以幫助,謝謝:-)馬丁

想也許我應該給一些更多的信息:-)

table1稱為:書籍

從窗體,我有以下值:itemCode,itemQty,ownerID我有2靜態值:狀態,類型

table2中必須插入到table1中的值是:標題,描述,價格,封面

from table2中的字段isbn應該等於form中的itemCode。

到目前為止,這是我嘗試過的:

    $bookid=$_POST['itemCode'];
$itemQty=$_POST['itemQty'];
$status='2';
$ownerID = $user->id;

$query="INSERT INTO books (name, description, price, picture, status, ownerID, itemqty, type, studie, isbn) SELECT (title, description, price, frontcover FROM isbnbooks WHERE isbn=$itemCode), $status, $ownerID, $itemQty, '1', '1', $bookid)";

更新:我也在這里嘗試過這個:

$bookid=$_POST['itemCode'];
        $itemQty=$_POST['itemQty'];
        $status='2';
        $ownerID = $user->id;

        $data2 = mysql_fetch_array (mysql_query("SELECT * FROM isbnbooks WHERE isbn = $bookid"));
        $title = $data2[title];
        $description = $data2[description];
        $price = $data2[price];
        $picture = $data2[frontcover];

        $query="INSERT INTO books (name, description, price, picture, status, ownerID, itemqty, type, studie, isbn) 
        VALUES ($title, $description, $price, $picture, $status, $ownerID, $itemQty, '1', '1', $bookid)";
        mysql_query($query) or die("Opps some thing went wrong");

在沒有代碼的情況下,建議使用以下工作流程ID:

提交表單->檢查和清除值->針對“表2”執行查找查詢並獲取相關值->使用表單和“ table2”數據提交更新查詢->成功更新后,通知用戶其信息處理->謝謝。

像這樣嗎?

$data2 = mysql_fetch_array (mysql_query("SELECT * FROM table2 WHERE id2 = '1'"));

$data1 = data2['column2'];

mysql_query("INSERT INTO table1 VALUES('value1','$data2') WHERE id1 = id2);

如果您具有值'a''b'進入table1 f1f2列; f3您希望table2.field的值(其中table2.id為123)可以按照以下table2.id准備和執行一條SQL語句:

INSERT INTO table1 (f1, f2, f3)
  SELECT 'a', 'b', field FROM table2 WHERE id = 123;

為了進一步了解更新后的問題中的代碼,第一次嘗試的問題在於您正在嘗試將INSERT ... SELECTINSERT ... VALUES混合使用; 可悲的是它們是相互排斥的。 但是,您可以改寫:

INSERT INTO books (
  name,
  description,
  price,
  picture,
  status,
  ownerID,
  itemqty,
  type,
  studie,
  isbn
)
  SELECT
    title,
    description,
    price,
    frontcover,
    :status,  -- use prepared statements to prevent SQL injection
    :ownerID, -- see http://bobby-tables.com/ for more info
    :itemQty,
    '1',      -- do you really want a string containing a number?
    '1',
    :bookid
  FROM isbnbooks
  WHERE isbn=:itemCode;

您的第二次嘗試似乎應該起作用(盡管您確實應該使用准備好的語句,請參見上文!); 您有什么問題?

暫無
暫無

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

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