首页 > 解决方案 > 在 PHP 中使用带有 where 子句的 PDO 选择记录

问题描述

dbaccess.php 文件有以下代码。

<?php
   Class Connection {
   private  $server = "mysql:host=localhost;dbname=cloudways";
   private  $user = "root";
   private  $pass = "";
   private $options  = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE 
   => PDO::FETCH_ASSOC,);
   protected $con; 
        public function openConnection()
         {
           try
             {
              $this->con = new PDO($this->server, $this->user,$this->pass,$this->options);
              return $this->con;
              }
           catch (PDOException $e)
             {
                 echo "There is some problem in connection: " . $e->getMessage();
             }
         }
    public function closeConnection() {
    $this->con = null;
   }
 }
?>

我一直在尝试使用以下代码使用 LIKE 运算符从我的表中选择记录。

<?php  

include_once 'dbaccess.php';

$vaddr   = $_POST['addr'];

$database = new Connection();
$db = $database->openConnection();

$statement = $db->prepare("SELECT  address,
                                   studentno, 
                                   deptno 
                        FROM       student
                        WHERE      address  like :vaddr");

$statement->execute(array(':vaddr' => $vaddr));          


while ($row = $statement->fetch(PDO::FETCH_ASSOC)) 
    {
        $vaddr = $row['address'];
        $type = $row['type'];
        echo "$vaddr has the type $type<br>";
    }
 ?>;

如果有人可以让我知道这如何与 PDO 准备语句一起使用。连接正确,连接成功。问题在于我编写此代码的方式。

标签: phppdo

解决方案


推荐阅读