Php PDO,其中+;订购人

Php PDO,其中+;订购人,php,mysql,pdo,sql-order-by,Php,Mysql,Pdo,Sql Order By,嗨,我正试图从PDO中的一个表中提取一个名为的列表,其中包含给定的第一个字母,并按ASC排序,但得到的是空数组 include('core/engine/login.php'); $con = new PDO('mysql:host=localhost;dbname=database', $dbuser, $dbpassword); $row = $con->prepare("SELECT title FROM ".$dbprefix."anime WHERE title= :title:

嗨,我正试图从PDO中的一个表中提取一个名为的列表,其中包含给定的第一个字母,并按ASC排序,但得到的是空数组

include('core/engine/login.php');
$con = new PDO('mysql:host=localhost;dbname=database', $dbuser, $dbpassword);
$row = $con->prepare("SELECT title FROM ".$dbprefix."anime WHERE title= :title: ORDER BY title ASC");
$row->bindParam(':title', $aniprefix, PDO::PARAM_STR);
$row->execute();
$results = $row->fetchAll(PDO::FETCH_COLUMN);

} catch(PDOException $ex) {
}

谢谢

有几个问题需要指出

  • 在SQL文本中,绑定参数占位符以冒号开头,但不以冒号结尾

  • 相等比较运算符(
    =
    )执行精确比较。要查找部分匹配,可以使用
    LIKE
    比较运算符。例如,要查找第一个字符为
    'T'
    标题的所有行,可以使用谓词,例如
    标题,例如'T%'
    。请注意,在类似
    上下文中,
    '%'
    是一个通配符,它匹配零个、一个或多个字符


问题是什么?错误是什么?尝试是什么?“我不喜欢按代码驾驶,”拉尔说得好,我建议OP看看斯宾塞7593的答案来解释。我不能打败它。
$row = $con->prepare("SELECT title FROM ".$dbprefix."anime WHERE title LIKE :title ORDER BY title ASC");
$row->bindParam(':title', $aniprefix.'%', PDO::PARAM_STR);