Forum und email

mysqli_stmt_bind_param

stmt->bind_param()

(No version information available, might be only in CVS)

stmt->bind_param() — プリペアドステートメントã®ãƒ‘ラメータã«å¤‰æ•°ã‚’ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹

説明

手続ãåž‹:

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )

オブジェクト指å‘型(メソッド):

mysqli_stmt
bool bind_param ( string $types , mixed &$var1 [, mixed &$... ] )

変数をã€SQL ステートメントã®ãƒ‘ラメータマーカã«ãƒã‚¤ãƒ³ãƒ‰ã—ã¾ã™ã€‚ ã“ã®å¤‰æ•°ã¯ã€mysqli_prepare() ã«æ¸¡ã•れãŸã‚‚ã®ã§ã™ã€‚

注æ„: データã®ã‚µã‚¤ã‚ºãŒãƒ‘ã‚±ãƒƒãƒˆã‚µã‚¤ã‚ºã®æœ€å¤§å€¤ï¼ˆmax_allowed_packet)を ã“ãˆãŸå ´åˆã€types ã« b ã‚’ 指定ã—㦠mysqli_stmt_send_long_data() を使用ã—〠データをパケットã«åˆ†å‰²ã—ã¦é€ä¿¡ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

パラメータ

stmt

手続ãåž‹ã®ã¿: mysqli_stmt_init() ãŒè¿”ã™ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆ ID。

types

ã²ã¨ã¤ã‚ã‚‹ã„ã¯è¤‡æ•°ã®æ–‡å­—ã§ã€å¯¾å¿œã™ã‚‹ãƒã‚¤ãƒ³ãƒ‰å¤‰æ•°ã®åž‹ã‚’表ã—ã¾ã™ã€‚

型指定文字
文字 説明
i 対応ã™ã‚‹å¤‰æ•°ã®åž‹ã¯ integer ã§ã™ã€‚
d 対応ã™ã‚‹å¤‰æ•°ã®åž‹ã¯ double ã§ã™ã€‚
s 対応ã™ã‚‹å¤‰æ•°ã®åž‹ã¯ string ã§ã™ã€‚
b 対応ã™ã‚‹å¤‰æ•°ã®åž‹ã¯ blob ã§ã€è¤‡æ•°ã®ãƒ‘ケットã«åˆ†å‰²ã—ã¦é€ä¿¡ã•れã¾ã™ã€‚

var1

å¤‰æ•°ã®æ•°ã€‚文字列 types ã®é•·ã•ã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆä¸­ã®ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®æ•°ã¨ä¸€è‡´ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

返り値

æˆåŠŸã—ãŸå ´åˆã« TRUE ã‚’ã€å¤±æ•—ã—ãŸå ´åˆã« FALSE ã‚’è¿”ã—ã¾ã™ã€‚

例

Example#1 オブジェクト指å‘åž‹

<?php
$mysqli 
= new mysqli('localhost''my_user''my_password''world');

/* æŽ¥ç¶šçжæ³ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$stmt $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd'$code$language$official$percent);

$code 'DEU';
$language 'Bavarian';
$official "F";
$percent 11.2;

/* ãƒ—リペアドステートメントを実行ã—ã¾ã™ */
$stmt->execute();

printf("%d Row inserted.\n"$stmt->affected_rows);

/* ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã¨æŽ¥ç¶šã‚’é–‰ã˜ã¾ã™ */
$stmt->close();

/* CountryLanguage ãƒ†ãƒ¼ãƒ–ルをクリアã—ã¾ã™ */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n"$mysqli->affected_rows);

/* æŽ¥ç¶šã‚’é–‰ã˜ã¾ã™ */
$mysqli->close();
?>

Example#2 手続ãåž‹

<?php
$link 
mysqli_connect('localhost''my_user''my_password''world');

/* æŽ¥ç¶šçжæ³ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ */
if (!$link) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$stmt mysqli_prepare($link"INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt'sssd'$code$language$official$percent);

$code 'DEU';
$language 'Bavarian';
$official "F";
$percent 11.2;

/* ãƒ—リペアドステートメントを実行ã—ã¾ã™ */
mysqli_stmt_execute($stmt);

printf("%d Row inserted.\n"mysqli_stmt_affected_rows($stmt));

/* ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã¨æŽ¥ç¶šã‚’é–‰ã˜ã¾ã™ */
mysqli_stmt_close($stmt);

/* CountryLanguage ãƒ†ãƒ¼ãƒ–ルをクリアã—ã¾ã™ */
mysqli_query($link"DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d Row deleted.\n"mysqli_affected_rows($link));

/* æŽ¥ç¶šã‚’é–‰ã˜ã¾ã™ */
mysqli_close($link);
?>

上ã®ä¾‹ã®å‡ºåŠ›ã¯ä»¥ä¸‹ã¨ãªã‚Šã¾ã™ã€‚

1 Row inserted.
1 Row deleted.