2016-03-21 15 views
0

データベースからさまざまな量の結果をバインドしたいとします。パラメータ内の可変変数

$randomAmount = rand(0, 10); 

for ($i = 1; $i <= $randomAmount; $i++) { 
    mysqli_stmt_bind_result($databaseGet, ${'op'. $i}); 
} 

これは、mysqli_stmt_bind_result()の機能をランダムに実行します。私が達成したいのは、パラメータの$ randomAmount変数です。

mysqli_stmt_bind_result($databaseGet, $op1, $op2, $op3, $op4; 
+0

[ドキュメント](HTTPを1として:/ $ randomAmount = 4場合

ので、コードは、これを達成するために何かをする必要があります/php.net/manual/en/mysqli-stmt.bind-result.php)、mysqli_stmt_bind_resultは変数を列にバインドするので、可変数の列である可能性があります。 – max

+0

この機能を再利用したい。列の量を含むクエリが変数として入ります。このようなもの: $ query = "FROMテーブルをk1、k2、k3、k4に選択" $ randomAmount = 4; –

答えて

1

あなたは次のようにcall_user_func_array functionを使用できます:

$vars = [$databaseGet] 
for ($i = 1; $i < 6; $i++) { 
    $vars[] = &${'op' . $i}; 
} 

call-user-func-array('mysqli_stmt_bind_result', $vars); 
関連する問題