ليس تماما، الاستعلام يحدث بالفعل ويتم تنفيذه غير أنه لا يتم التقاط عائده من على خارج الدالة.
فالمشكلة هنا هي أنك تحاول الوصول الى متغير محلي local variable من على خارج نطاق الدالة function scope. وللوصول اليه اظنك ستحتاج ضبطه كعائد للدالة التي تقوم بتوصيفها. فيكون ذلك كـ:
function connecting($order_table,$table){
global $order_id ;
global $conn;
$query_var = 'SELECT
'.$order_table.'.*,
'.$order_table.'.price AS price,
admins.name AS user,
patron_colors.color_name AS color_name,
patron_colors.color_count
FROM
'.$order_table.'
LEFT JOIN admins ON '.$order_table.'.user = admins.id
JOIN
'.$table.'
ON
'.$order_table.'.'.$order_table.'_id = '.$table.'.id
JOIN patron_colors ON '.$order_table.'.color_select = patron_colors.id
WHERE
'.$order_table.'.order_id=' .$order_id . ' ORDER BY '.$order_table.'.id ASC;';
$run = $conn->query($query_var);
return $run;
}
الآن ستحتاج استقبال عائد الدالة وتخزينه في متغير:
$run = connecting('order_bracelet','bracelet');
وأخيرا استعماله في المرور على الصفوف الناتجة:
foreach ($run AS $row ){
// code here
}