Ԥ���������洢����

�ܶ����������ݿⶼ֧��Ԥ�������ĸ��ʲô��Ԥ������䣿���԰�����������Ҫ���е� SQL ��һ�ֱ������ģ�壬������ʹ�ñ����������ж��ơ�Ԥ���������Դ�������ô���

  • ��ѯ�����������Ԥ����һ�Σ�����������ͬ��ͬ�IJ���ִ�ж�Ρ�����ѯ׼���ú����ݿ⽫������������Ż�ִ�иò�ѯ�ļƻ������ڸ��ӵIJ�ѯ���˹���Ҫ���ѽϳ���ʱ�䣬�����Ҫ�Բ�ͬ��������ظ���ͬ�IJ�ѯ����ô�ù��̽���󽵵�Ӧ�ó�����ٶȡ�ͨ��ʹ��Ԥ������䣬���Ա����ظ�����/����/�Ż����ڡ�����֮��Ԥ�������ռ�ø��ٵ���Դ��������еø��졣
  • �ṩ��Ԥ�������IJ�������Ҫ������������������������Զ��������Ӧ�ó���ֻʹ��Ԥ������䣬����ȷ�����ᷢ��SQL ע�롣��Ȼ���������ѯ��������������δת��������������ģ����Դ��� SQL ע��ķ��գ���

Ԥ�������������ã�����������Ψһ������������������֧�ֵ�ʱPDO ��ģ�⴦����������ȷ���������ݿ��Ƿ���������Ĺ��ܣ�������ȷ��Ӧ�ó����������ͬ�����ݷ���ģʽ��

Example #1 ��Ԥ�����������ظ�����

��������ͨ���� name �� value �����Ӧ������ռλ����ִ��һ�������ѯ

<?php
$stmt 
$dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name'$name);
$stmt->bindParam(':value'$value);

// ����һ��
$name 'one';
$value 1;
$stmt->execute();

//  �ò�ͬ��ֵ������һ��
$name 'two';
$value 2;
$stmt->execute();
?>

Example #2 ��Ԥ�����������ظ�����

��������ͨ���� name �� value ȡ�� ? ռλ����λ����ִ��һ�������ѯ��

<?php
$stmt 
$dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1$name);
$stmt->bindParam(2$value);

// ����һ��
$name 'one';
$value 1;
$stmt->execute();

// �ò�ͬ��ֵ������һ��
$name 'two';
$value 2;
$stmt->execute();
?>

Example #3 ʹ��Ԥ��������ȡ����

�������ӻ�ȡ���ݻ��ڼ�ֵ���ṩ����ʽ���û������뱻�Զ�����������������˲����� SQL ע�빥����Σ�ա�

<?php
$stmt 
$dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if (
$stmt->execute(array($_GET['name']))) {
  while (
$row $stmt->fetch()) {
    
print_r($row);
  }
}
?>

������ݿ�����֧�֣�Ӧ�ó��򻹿��԰�������������.�������ͨ�����ڴӴ洢���̻�ȡֵ���������ʹ���������������Ҫ��΢����һЩ����Ϊ����һ���������ʱ������֪�����������ij��ȡ����Ϊ�����󶨵�ֵ���ڽ���ij��ȣ��ͻ����һ������

Example #4 ������������ô洢����

<?php
$stmt 
$dbh->prepare("CALL sp_returns_string(?)");
$stmt->bindParam(1$return_valuePDO::PARAM_STR4000); 

// ���ô洢����
$stmt->execute();

print 
"procedure returned $return_value\n";
?>

������ָ��ͬʱ������������ֵ�IJ��������﷨�������������������һ�������У��ַ���"hello"�����ݸ��洢���̣����洢���̷���ʱ��hello ���滻Ϊ�ô洢���̷��ص�ֵ��

Example #5 ������/����������ô洢����

<?php
$stmt 
$dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value 'hello';
$stmt->bindParam(1$valuePDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT4000); 

// ���ô洢����
$stmt->execute();

print 
"procedure returned $value\n";
?>

Example #6 ռλ������Чʹ��

<?php
$stmt 
$dbh->prepare("SELECT * FROM REGISTRY where name LIKE '%?%'");
$stmt->execute(array($_GET['name']));

// ռλ�����뱻��������ֵ��λ��
$stmt $dbh->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->execute(array("%$_GET[name]%"));
?>