php - PDO 查询关联表并显示结果

标签 php mysql mysqli pdo

我是 PHP 新手,目前正在学习 PDO 并远离 MySQLi,我是 CMS 大学的学生,我正在学习这门类(class),老师希望我关联两个表并显示它们,他的 MySQLi 代码看起来像这样

$query = "SELECT * FROM categories WHERE cat_id = {$post_category_id}";
$select_categories_id = mysqli_query($connection,$query);

while($row = mysqli_fetch_assoc($select_categories_id)) {
    $cat_id = $row['cat_id'];
    $cat_title = $row['cat_title'];
    echo "<td>{$cat_title}</td>";
}

我的 PDO 代码看起来像这样,它没有按应有的方式工作......

我之前在我的类(class)中做过几个 PDO 查询,但不知何故这不起作用。
$query = "SELECT * FROM categories WHERE cat_id = :post_category_id";
$result = $connection->prepare($query);
$result->execute(array(":post_category_id"=>$post_category_id));
while($row=$result->fetch(PDO::FETCH_ASSOC)){
    extract($row);
    $cat_id = $row['cat_id'];
    $cat_title = $row['cat_title'];
    echo "<td>$cat_title</td>";
}

我将不胜感激任何和所有的建议

最佳答案

如果您设置正确的连接数据库。它工作正常

  $query = "SELECT * FROM categories WHERE cat_id = :post_category_id";
  $result = $connection->prepare($query);
  $result->bindParam(':post_category_id',$post_category_id, PDO::PARAM_INT);
  $result->execute();
  $result = $result->fetchAll(PDO::FETCH_ASSOC);
      if ($result) {
         foreach($result as $row){
            $cat_id = $row['cat_id'];
            $cat_title = $row['cat_title'];
            echo "<td>".$cat_title."</td>";
          }
       }

关于php - PDO 查询关联表并显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47742693/

相关文章:

php - MySQLi 的编码问题

php - 我可以在MySQL的这个查询中哪里添加WHERE语句?

javascript - Jquery 对话框不提交表单

php - 使用 PHP/MYSQL 填充 HTML 下拉列表

PHP DateTime 时区 - 构造函数与 Setter 方法

php - 自动修复丢失的 ID

mysql - 如何在 MySQL 中将变量中存储的值写入 CSV

php - 使用 MySQLi 插入 NULL 而不是空值

PHP - 解析 uft-8 文件并将其插入数据库会弄乱像 é 这样的特殊字符

php - 多对多关系 Laravel