繁体   English   中英

如何在查询时在PDO对象中使用条件

[英]How can I use a condition in PDO object while a query

我正在尝试使用PDO选择数据(+准备语句)以下示例使用预准备语句。

http://www.w3schools.com/php/showphpfile.asp?filename=demo_db_select_pdo

我需要知道如何创建一个只显示LASTNAME = PETER的条件。 我尝试过如下,但没有工作

$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE lastname =PETER");

如果你想准备和执行这样的使用

$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE lastname = :lastname");
$result = $stmt->execute(array(':lastname'=>'PETER'));

如果你想直接运行(如果'PETER'来自用户输入,则不建议这样做)。

$result = $conn->query("SELECT id, firstname, lastname FROM MyGuests WHERE lastname = 'PETER');

传递给WHERE子句的条件需要单引号,因为它(我假设)是一个字符串。 所以:

$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE lastname = 'PETER'");

请记住,如果您将来要使其动态消毒您的输入并使用某种命名参数,如下所示:

$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE lastname = :lastname");
$stmt->execute([':lastname' => 'PETER']); // the string here can be a variable of course

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM