php
  • mysql
  • 2009-07-18 98 views 0 likes 
    0

    我有兩個字段......一個是類別名稱,另一個是文檔標題...當我單擊提交時...文檔標題應該保存在鏈接到類別名稱的文檔表中選中...這是在其他表中。在查詢中鏈接兩個表

    類別可以有文檔標題的n個...

    $result = mysql_query("UPDATE stinky_menu SET description = '$docuTitle', url = '$linkTitle' WHERE title = '$catID'"); 
    

    我怎麼能在WHERE子句中執行另一個查詢到我的其他表。

    +0

    我希望這是僞代碼。否則,你有一些嚴重的問題與SQL注入。我會建議你在PDO或mysqli中使用準備好的語句。 – 2009-07-18 21:11:20

    回答

    1

    通常我通過讓HTML表單中的選擇框返回類別ID而不是標題來處理這種情況。這允許我插入或更新記錄,而不需要額外查找我的引用表(在本例中爲您的類別表)。

    1

    使用:命名形式的參數(當然也適用於?-form),最簡單的方法就是在你的UPDATE中使用FROM和JOIN,就像(取決於你所希望的一些細節)牛逼提供):

    UPDATE stinkymenu 
    SET description = :docuTitle, url = :linkTitle 
    FROM stinkymenu 
    JOIN categorytable 
    ON stinkymenu.catId = categorytable.id 
    WHERE categorytable.title = :catId 
    

    對於使用這樣的「準備好的聲明」,並結合其參數設置爲您的變量的方法見PDO's docs

    相關問題