我正在尝试使用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");
答案 0 :(得分:2)
如果你想准备和执行这样的使用
$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');
答案 1 :(得分:1)
传递给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