如何使用PDO使用表单输入值进行搜索和输出

时间:2015-05-10 12:17:33

标签: php mysql pdo

我正在尝试通过使用PDO从HTML表单获取值来执行搜索操作,并在同一页面中显示结果。我没有错误也没有结果。请指教!我是初学者。

<?php 
require_once 'db_alternate2.php';
session_start(); 

if (isset($_POST['submit'])) {
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

$payrl_search = trim($_POST['empname_search']);

$sql = "SELECT * FROM payroll_db 
WHERE 'pay_staff_name' 
LIKE '$%payrl_search%'"; 

$q = $conn->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);

} catch (PDOException $pe) {
die("Could not connect to the database $dbname :" . $pe->getMessage());
}
}

我在html中的PHP代码是

         <table>
         <tbody>
         <?php while ($r = $q->fetch()): ?>
             <tr>
             <td><?php echo htmlspecialchars($r['pay_emp_id'])?></td>
             <td><?php echo htmlspecialchars($r['pay_staff_name']); ?></td>
             <td><?php echo htmlspecialchars($r['pay_month_sal']); ?></td>
             <td><?php echo htmlspecialchars($r['pay_amount']); ?></td>
             <td><?php echo htmlspecialchars($r['pay_bankname']); ?></td>
             </tr>
         <?php endwhile; ?>
         </tbody>
         </table>

我收到了这些错误:

  
      
  1. 未定义的变量:q
  2.   
  3. 致命错误:在非对象上调用成员函数fetch()
  4.   

我认为我的错误部分是

         <?php while ($r = $q->fetch()): ?>

0 个答案:

没有答案