Salut
Am testat clasa pdo_mysqli si cu UNION, functioneaza corect.
Exemplu, tabel "testclass":
Cod: Selectaţi tot
id url title dt
3 https://marplo.net/ Free Courses 1455023860
4 https://coursesweb.net/ Free Web Courses 1455023912
5 https://coursesweb.net/ Free Web Courses 1455036107
6 https://coursesweb.net/ Free Web Courses 1455036178
Cod php Selectul cu Union:
Cod: Selectaţi tot
//Select with Union
$sql ='(SELECT id, url FROM testclass WHERE id =4) UNION (SELECT id, title FROM testclass WHERE id >4) ORDER BY id DESC';
$resql = $conn->sqlExec($sql);
echo '<pre>';
var_export($resql);
Output:
Cod: Selectaţi tot
array (
0 => array (
'id' => 6,
'url' => 'Free Web Courses',
),
1 => array (
'id' => 5,
'url' => 'Free Web Courses',
),
2 => array (
'id' => 4,
'url' => 'https://coursesweb.net/',
),
)
Nu stiu de ce la tine nu merge, poate e ceva in codul SQL sau in legatura cu alt cod din script legat de clasa pdo_mysqli.
- Numele de coloane /tabel nu se pun intre ghilimele (cum e in codul tau de ex. 'A').
Ca alternativa, poti sa unesti mai multe rezultate Select cu array_merge().
Exemplu:
Cod: Selectaţi tot
//Without Union, with 2 Select merged into one array
$sql1 ='SELECT id, url FROM testclass WHERE id =4';
$sql2 ='SELECT id, title FROM testclass WHERE id >4';
$resql = array_merge($conn->sqlExec($sql1), $conn->sqlExec($sql2));
var_export($resql);