代码之家  ›  专栏  ›  技术社区  ›  Chris Sobolewski

pdo select语句不返回行

  •  4
  • Chris Sobolewski  · 技术社区  · 14 年前

    我正在使用PHP从mySQL中进行一个简单的选择。我做错了什么事,我似乎找不到。

    $storyTitle = $_GET['title'];
    $storyDate = urldecode($_GET['date']);
    $SQL = "SELECT
            *
        FROM
            tblContent
        WHERE
            REPLACE(contentTitle,' ' , '-') = :storyTitle
        AND
            date(publishDate) = date(:storyDate)";
    $conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
    $q = $conn->prepare($SQL);
    $q->execute(array(':storyTitle' => $storyTitle, ':storyDate' => $storyDate));
                while($r = $q->fetch()){
                     echo $SQL;
                };
    

    2 回复  |  直到 14 年前
        1
  •  3
  •   Matthew    14 年前

    转储变量的内容。我怀疑:

    $storyDate = urldecode($_GET['date']);
    

    $_GET 参数将自动进行url解码。

        2
  •  0
  •   Your Common Sense    14 年前

    try {
      $conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
      $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    
      $q = $conn->prepare($SQL);
      $q->execute(array(':storyTitle' => $storyTitle, ':storyDate' => $storyDate));
    } catch (PDOException $e) {
      echo  $e->getMessage();
    }