function get_actor_info( $actor_id ) {
global $pdo;
$stmt = $pdo->prepare('
SELECT film_info, first_name, last_name
FROM actor_info
WHERE actor_id = :actor_id
LIMIT 1');
$stmt->execute( array( ':actor_id' => $actor_id ) );
return $stmt->fetch( PDO::FETCH_OBJ );
}
在上面的示例中为什么 MYSQL 选择 WHERE...:actor_id
接下来是这个:
列和相同的东西return $stmt->fetch( PDO::FETCH_OBJ );
为什么要使用双柱?
字符串 :actor_id 不是变量。它是一个占位符,用于将实际变量 $actor_id 值绑定到 SQL 字符串。
您的 $stmt 字符串是带有占位符的查询。
where 子句的实际值在执行时使用execute() 方法传递。
你为什么想做这个? PDO 允许准备好的语句,并且它的绑定有助于抽象出必须转义变量的字符串,就像您只是将 $actor_id 连接到 SQL 字符串中一样。
这有助于提高查询的可重用性和安全性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)