(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO::prepare — ��Ҫִ�е���䣬������������
Ϊ PDOStatement::execute() ��������ִ�е� SQL ��䡣 SQL �������������������ռλ��ǣ���ʽ��������:name�����ʺţ�?������ʽ������ִ��ʱ������ʵ����ȡ���� ��ͬһ�� SQL ����������ʽ���ʺ���ʽ����ͬʱʹ�ã�ֻ��ѡ������һ�ֲ�����ʽ�� ���ò�����ʽ���û���������ݣ���Ҫֱ���ַ���ƴ�ӵ���ѯ�
���� PDOStatement::execute() ʱ��ÿһ��ֵ�IJ���ռλ��ǣ����Ʊ���Ψһ�� ��������ģ�⣨emulation��ģʽ��ͬһ���������ʹ�������IJ�����
Note:
����ռλ������������չʾ���������ݡ������������һ���֣������ǹؼ��ʣ������DZ�ʶ������������������ķ�Χ�� ����˵�������ܰѶ��ֵ���������Ȼ���� SQL ������� IN() ��ѯ��
����ò�ͬ������ͨ�� PDO::prepare() �� PDOStatement::execute() ��ε���ͬһ�� SQL ��䣬������Ӧ�õ����� —— ���������ÿͻ���/�����������ѯ��Ԫ��Ϣ��������ֹ SQL ע�빥��������Ҫ�ֶ������������š�
�������������֧�ֲ�����PDO ��ģ��������Ĺ��ܣ������������֧������һ�ַ�������������ʺŲ������֣���Ҳ���Զ���д������һ�ַ��
statement
�����Ƕ�Ŀ�����ݿ��������Ч�� SQL ���ģ�塣
driver_options
�������һ������ key=>value ��ֵ�ԣ�Ϊ���ص� PDOStatement �����������ԡ� �����÷��ǣ����� PDO::ATTR_CURSOR Ϊ PDO::CURSOR_SCROLL�����õ��ɹ����Ĺ�ꡣ ijЩ��������������ѡ��� prepare ʱ�����á�
������ݿ���������������䣬
PDO::prepare() ����
PDOStatement ����
������ݿ������������䣬
PDO::prepare() ���� FALSE
���׳�
PDOException (ȡ���� ��������)��
Note:
ģ��ģʽ�µ� prepare ��䲻������ݿ���������������� PDO::prepare() ��������䡣
Example #1 ������������ʽ�� SQL ������
<?php
/* ���������ֵ����ִ�����õ���� */
$sql = 'SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>
Example #2 ���ʺ���ʽ�� SQL ������
<?php
/* ���������ֵ����ִ�����õ���� */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>