php - 如何从 url 获取信息并在 php 函数中使用它?

标签 php mysql url sorting

我想创建一个函数来选择具有特定标准的每个字段。所以基本上我想点击一个链接并让该链接的某些部分告诉我的 php 函数选择的标准是什么。

我有一个这样的链接列表:

<li><a href="category.php?category=cat1">Cat1</a></li>
<li><a href="">Cat2</a></li>
<li><a href="">Cat3</a></li>
<li><a href="">Cat4</a></li>
<li><a href="">Cat5</a></li>

链接部分是.php?category=criteria。如何将此信息发送到我的函数并使用它来选择字段?

这是我的功能:

public function get_by_category ($cat) {
  $cat = $_GET['category'];
  $sql = $this->db->prepare("SELECT * FROM Content WHERE category=?");
  $sql->bindParam(1, $cat);
  $sql->execute();

  while ($row = $sql->fetch()) {
    echo $row['Title'];
  }
}

结果什么都没有,没有错误等。它不知道如何获取标准,因为我不知道如何将标准指向它。我怎样才能做到这一点?重要的是我可以通过链接指定标准。

最佳答案

使用具有命名参数的 PDO 通常有效:

public function get_by_category ($cat) {
  $cat = $_GET['category'];
  $sql = $this->db->prepare("SELECT * WHERE category=:category");
  $sql->bindParam("category", $cat);
  $sql->execute();

  while ($row = $sql->fetch()) {
    echo $row['Title'];
  }
}

您可以通过在将准备好的语句发送到 SQL 之前放置 print $sql->fullStmt 检查准备好的语句来查看正在执行的 SQL。

更新:为了查看 PDO 异常,您可以 try catch 它们:

public function get_by_category ($cat) {
  $cat = $_GET['category'];
  try {
    $sql = $this->db->prepare("SELECT * WHERE category=:category");
    $sql->bindParam("category", $cat);
    $sql->execute();
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }

  while ($row = $sql->fetch()) {
    echo $row['Title'];
  }
}

关于php - 如何从 url 获取信息并在 php 函数中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14502382/

相关文章:

php - 如果使用 PHP,则 CSS 不适用

php - 未找到 Doctrine 映射案例

php - Smarty 删除最后一个字符后的所有内容

java - 如何从任意字符串 url 获取网站名称

PHP 命名空间 : equivalent to C# using

php - 使用php连接在线mysql数据库与本地xampp服务器

mysql - 无法创建包含联合的 View

php - 如何在magento 1.8.1中添加产品图片销售订单网格?

php - Codeigniter 数据库连接错误

javascript - 如何从 SEO 友好的 URL 获取查询字符串参数?