php PDO不会打印出数据库值

时间:2019-11-17 06:43:49

标签: php html

我想使用html和php创建登录页面。
这是一种以html输入ID和密码并将值以POST格式传递给login.php的方法。
这是我的php代码。

...

<body>
<?php
try {
  $db = new PDO("mysql:dbname=user;host=localhost","root","");
  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $id = $_POST[$id];
  $pw = $_POST[$password];
  $check = "SELECT password FROM user WHERE id = '$id'";
  $rows = $db->query($check);
  foreach ($rows as $row) {
    print($row);
  }
}
catch (PDOException $ex) {
?>
<p>Sorry, a database error occurred. Please try again later.</p>
<p>(Error details: <?= $ex->getMessage() ?>)</p>
<?php
}
?>

所以我创建了一个数据库进行测试,
我编写了上面的代码来检查值是否正确地导入到php代码中
但没有打印出任何值。
我检查了mysql的数据库中是否有一个值。
我该如何解决?

1 个答案:

答案 0 :(得分:0)

$pw = $_POST[$password];必须像$pw = $_POST['html_form_field_name'];一样,显然您正在使用变量而不是表单字段的实际静态名称。