関数内から呼び出された場合、returnステートメントは現在の関数の実行をただちに終了し、その引数を関数呼び出しの値として返します。
phpマニュアルからの引用:http://php.net/manual/en/function.return.php
したがって、この関数を作成する場合は、次のようになります。
public function check_db_for_desired_value()
{
//...connect to db, prepare stmt, etc.
while (mysqli_stmt_fetch($stmt))
{
if($column == 'desired_value')
{
return TRUE;
}
else
{
return FALSE;
}
}
// these commands would never get executed
mysqli_stmt_free_result($stmt);
mysqli_stmt_close($stmt);
mysqli_close($link);
}
したがって(phpマニュアルの内容が正しければ)結果が解放されることはなく、stmtが閉じられることはなく、db接続が開いたままになります。これは、何かを返し、関数の実行を終了したためです...
それで、何かを返す代わりに、変数の値を設定し、すべてを閉じた後にこの値を返す必要がありますか?
私のコードは機能していて、エラーが発生しないので、以前にこのような関数を作成したことがありますが、私は尋ねます...