使用URL中的$_GET[';id';]在php中显示mysql数据


Show mysql data in php using the $_GET['id'] coming in from the URL

我正在从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>";
}

您只放了一个?在查询中,但在execute()数组中有两个元素。我更喜欢将查询放在我使用它的位置之前,或者放在prepare内部,因为它更接近执行,因此不太容易出错。此外,您没有获取数据。

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>";
  }

$sql="从Films WHERE Film_ID=$ID中选择Film_Title";