简体   繁体   中英

How can I use a condition in PDO object while a query

I am trying to Select Data With PDO (+ Prepared Statements) The following example uses prepared statements.

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

I need to know how to make a condition to display only the LASTNAME = PETER. I tried like the below, but not working

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

If you want to prepare and execute use like this

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

And if you want to run directly (which is not recommended if 'PETER' is coming from an user input).

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

The condition being handed to the WHERE clause needs to be single quoted as it is (I presume) a string. So:

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

Remember if you are going to make this dynamic in future to sanitise your inputs and use some kind of named parameters like so:

$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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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