2013-12-13 54 views
0

我從URL中獲取'id',但我似乎無法使用它從其中選擇其他數據片段同一行。我試圖使用Film_ID來顯示Film_Title(MySQL中行的名稱)。在這種情況下,Film_ID將從URL中進入,如下所示:/film.php?id=58。

如何使用該ID選擇Film_Title?這裏是我的代碼:

if (isset($_GET['id'])) { 
    $id = trim($_GET['id']); 
    $Film_Title = trim($_POST['Film_Title']); 

    $sql = "SELECT Film_Title FROM Films WHERE Film_ID=?"; 

    require_once 'includes/MySQL.php'; 
    require_once 'includes/db.php'; 

    $db = new MySQL($dbconfig['host'], $dbconfig['user'], $dbconfig['password'], $dbconfig['database']); 
    $stm = $db->dbConn->prepare($sql); 
    $stm->execute(array($id, $Film_Title)); 
    echo "<h3>film record $Film_Title has been selected</h3>"; 

} 
+0

您是否需要將$ id綁定到Film_ID? – AdRock

+0

你只在查詢中放入一個'?',但在你的'execute()'數組中有兩個元素。 –

回答

0

你只是把一個?在你的查詢中,但你的execute()數組中有兩個元素。我寧願將查詢放在我使用它的位置之前,或者只是在準備之內,因爲它更接近執行,因此不易出錯。此外,你沒有獲取你的數據。

if (isset($_GET['id'])) { 
    $id = trim($_GET['id']); 
    $Film_Title = trim($_POST['Film_Title']); 

    require_once 'includes/MySQL.php';  
    require_once 'includes/db.php'; 

    $db = new MySQL($dbconfig['host'], $dbconfig['user'], $dbconfig['password'], $dbconfig['database']); 
    $stm = $db->dbConn->prepare("SELECT Film_Title FROM Films WHERE Film_ID=?"); 
    // There's only one placeholder, so only 1 element in the array is needed 
    $stm->execute(array($id)); 
    // Also you need to fetch the results 
    $result = $stm->fetch(); 
    echo "<h3>film record " . $result['Film_Title'] . " has been selected</h3>"; 
    } 
+0

它工作!非常感謝!我不敢相信我在這上面工作了三個小時!現在我應該怎麼做,如果我想放置多個數據,這是否意味着更多的數組項? – Trikucian

+0

不要擔心,第一次它會變得緩慢或困難,但經過一年左右的練習後,只需不到五分鐘即可完成您發佈的代碼(: –

-1

$ sql =「SELECT Film_Title FROM Films WHERE Film_ID = $ id」;

相關問題