私は2つの再帰関数を持っています:
1)
function getCategories($id)
{
global $con;
$select = $con->prepare('SELECT * FROM categories WHERE parent_category_id = :parent_category_id OR (parent_category_id IS NULL AND :parent_category_id IS NULL)');
$select->bindValue(':parent_category_id', $id, PDO::PARAM_NULL || PDO::PARAM_INT);
$select->execute();
// fetching.........
for() ... getCategories(.......);
}
2)
$select = $con->prepare('SELECT * FROM categories WHERE parent_category_id = :parent_category_id OR (parent_category_id IS NULL AND :parent_category_id IS NULL)');
function getCategories($id)
{
global $select;
$select->bindValue(':parent_category_id', $id, PDO::PARAM_NULL || PDO::PARAM_INT);
$select->execute();
// fetching.........
for() ... getCategories(.......);
}
どちらが優れている/速いですか? ステートメントを一度だけ準備する方が良いですか?