この記事では、PHPのダイナミックバインディング変数の使い方について説明します。皆さんの参考に共有してください。詳細は以下の通りです
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
プライベート関数bindVars($stmt,$params) { if ($params != null) { $types = '' //タイプの初期文字列 ;foreach($params as $param) { //各要素について、型を決定して追加します if(is_int($param)) { $types .= 'i' //整数 ;} elseif (is_float($param)) { $types .= 'd' //double ;} elseif (is_string($param)) { $types .= 's' //文字列 ;} 他 { $types .= 'b'; //ブロブと不明 } } $bind_names[] = $types; //必要な最初のパラメータは型文字列です // 例: 'issss' for ($i=0; $i //受信パラメータを調べて配列に追加します $bind_name = 'バインド' . //任意の名前を付けます $$bind_name = $params[$i]; //変数変数にパラメータを追加します $bind_names[] = &$$bind_name; //変数を配列の要素として関連付けます } //動的paramsを使用して関数bind_paramを呼び出します call_user_func_array(array($stmt,'bind_param'),$bind_names); } return $stmt //バインドされたステートメントを返す |
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。