mysqli_stmt_bind_param
stmt->bind_param()
(No version information available, might be only in CVS)
stmt->bind_param() — プリペアドステートメントã®ãƒ‘ラメータã«å¤‰æ•°ã‚’ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹
説明
手続ãåž‹:
オブジェクト指å‘型(メソッド):
変数をã€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.