PDOStatement::execute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::execute 执锟斤拷一锟斤拷预锟斤拷锟斤拷锟斤拷锟�

说锟斤拷

PDOStatement::execute ([ array $input_parameters ] ) : bool

执锟斤拷预锟斤拷锟斤拷锟斤拷锟斤拷锟戒。锟斤拷锟皆わ拷锟斤拷锟斤拷锟斤拷锟斤拷浜拷胁锟斤拷锟斤拷锟角o拷锟斤拷锟斤拷选锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷

  • 锟斤拷锟斤拷 PDOStatement::bindParam() 锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷牵锟斤拷锟斤拷锟叫的伙拷锟斤拷通锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷前蠖ǖ谋锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街碉拷锟饺★拷锟斤拷锟斤拷值

  • 锟津传碉拷一锟斤拷只锟斤拷为锟斤拷锟斤拷锟斤拷锟街碉拷锟斤拷锟斤拷锟�

锟斤拷锟斤拷

input_parameters

一锟斤拷元锟截革拷锟斤拷锟酵斤拷锟斤拷执锟叫碉拷 SQL 锟斤拷锟斤拷邪蠖ǖ牟锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟介。锟斤拷锟叫碉拷值锟斤拷为 PDO::PARAM_STR 锟皆达拷锟斤拷

锟斤拷锟杰绑定讹拷锟街碉拷锟揭伙拷锟斤拷锟斤拷锟斤拷牟锟斤拷锟斤拷锟斤拷锟斤拷纾拷锟斤拷馨锟斤拷锟斤拷锟街碉拷锟� IN锟斤拷锟斤拷锟接撅拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷

锟襟定碉拷值锟斤拷锟杰筹拷锟斤拷指锟斤拷锟侥革拷锟斤拷锟斤拷锟斤拷锟斤拷锟� input_parameters 锟叫达拷锟节憋拷 PDO::prepare() 预锟斤拷锟斤拷锟絊QL 指锟斤拷锟侥讹拷募锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷浣拷锟绞э拷懿锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟�

锟斤拷锟斤拷值

锟缴癸拷时锟斤拷锟斤拷 TRUE锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.2.0 input_parameters 锟叫的硷拷锟斤拷锟斤拷锟斤拷锟� SQL 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷匹锟戒。PHP 5.2.0 之前默锟较猴拷锟皆★拷

锟斤拷锟斤拷

Example #1 执锟斤拷一锟斤拷锟襟定憋拷锟斤拷锟斤拷预锟斤拷锟斤拷锟斤拷锟�

<?php
/*  通锟斤拷锟斤拷 PHP 锟斤拷锟斤拷执锟斤拷一锟斤拷预锟斤拷锟斤拷锟斤拷锟� */
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour'
);
$sth->bindParam(':calories'$caloriesPDO::PARAM_INT);
$sth->bindParam(':colour'$colourPDO::PARAM_STR12);
$sth->execute();
?>

Example #2 使锟斤拷一锟斤拷锟斤拷锟叫诧拷锟斤拷值锟斤拷锟斤拷锟斤拷执锟斤拷一锟斤拷预锟斤拷锟斤拷锟斤拷洌拷锟斤拷锟斤拷锟斤拷锟斤拷锟�

<?php
/* 通锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟叫诧拷锟斤拷值锟斤拷锟斤拷锟斤拷执锟斤拷一锟斤拷预锟斤拷锟斤拷锟斤拷锟� */
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour'
);
$sth->execute(array(':calories' => $calories':colour' => $colour));
?>

Example #3 使锟斤拷一锟斤拷锟斤拷锟叫诧拷锟斤拷值锟斤拷锟斤拷锟斤拷执锟斤拷一锟斤拷预锟斤拷锟斤拷锟斤拷洌ㄕ嘉伙拷锟斤拷锟�

<?php
/*  通锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷值锟斤拷锟斤拷锟斤拷执锟斤拷一锟斤拷预锟斤拷锟斤拷锟斤拷锟� */
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?'
);
$sth->execute(array($calories$colour));
?>

Example #4 执锟斤拷一锟斤拷锟绞猴拷占位锟斤拷锟斤拷预锟斤拷锟斤拷锟斤拷锟�

<?php
/* 通锟斤拷锟斤拷 PHP 锟斤拷锟斤拷执锟斤拷一锟斤拷预锟斤拷锟斤拷锟斤拷锟� */
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?'
);
$sth->bindParam(1$caloriesPDO::PARAM_INT);
$sth->bindParam(2$colourPDO::PARAM_STR12);
$sth->execute();
?>

Example #5 使锟斤拷锟斤拷锟斤拷执锟斤拷一锟斤拷锟斤拷锟斤拷 IN 锟接撅拷锟皆わ拷锟斤拷锟斤拷锟斤拷

<?php
/*  使锟斤拷一锟斤拷锟斤拷锟斤拷锟街抵达拷锟揭伙拷锟斤拷锟斤拷锟� IN 锟接撅拷锟皆わ拷锟斤拷锟斤拷锟斤拷 */
$params = array(12163171);
/*  锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷撕锟絧arams锟斤拷同锟斤拷锟斤拷占位锟斤拷锟斤拷锟街凤拷锟斤拷 */
$place_holders implode(','array_fill(0count($params), '?'));

/*
    锟斤拷锟斤拷 $params 锟斤拷锟斤拷锟叫碉拷每锟斤拷值锟斤拷要预锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷愎伙拷锟轿达拷锟斤拷锟秸嘉伙拷锟� 锟斤拷
    锟斤拷浔恢达拷锟绞憋拷锟� $params 锟斤拷锟斤拷锟叫碉拷值锟斤拷锟襟定碉拷预锟斤拷锟斤拷锟斤拷锟斤拷械锟秸嘉伙拷锟斤拷锟�
    锟斤拷锟绞癸拷锟� PDOStatement::bindParam() 锟斤拷一锟斤拷锟斤拷锟斤拷为锟斤拷锟斤拷要一锟斤拷锟斤拷锟矫憋拷锟斤拷锟斤拷
    PDOStatement::execute() 锟斤拷锟斤拷为通锟斤拷值锟襟定碉拷锟斤拷锟斤拷锟�
*/
$sth $dbh->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$sth->execute($params);
?>

注锟斤拷

Note:

锟斤拷些锟斤拷锟斤拷锟斤拷执锟斤拷锟斤拷一锟斤拷锟斤拷锟角帮拷锟揭� 锟截憋拷锟轿憋拷 锟斤拷

锟轿硷拷

  • PDO::prepare() - 准锟斤拷要执锟叫碉拷锟斤拷洌拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�
  • PDOStatement::bindParam() - 锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷指锟斤拷锟侥憋拷锟斤拷锟斤拷
  • PDOStatement::fetch() - 锟接斤拷锟斤拷锟斤拷谢锟饺★拷锟揭伙拷锟�
  • PDOStatement::fetchAll() - 锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷械锟斤拷锟斤拷锟�
  • PDOStatement::fetchColumn() - 锟接斤拷锟斤拷锟斤拷械锟斤拷锟揭伙拷蟹锟斤拷氐锟斤拷锟斤拷锟揭伙拷小锟�