$wynik = @$polaczenie -> query("SELECT zlec_status.nazwa AS Status,
piorytet.nazwa AS Priorytet,
Concat(koord.imie, ' ', koord.nazwisko) AS `Koordynator`,
Concat(zlec_adresy.miasto, ' - ', zlec_adresy.ulica, ' ',
zlec_adresy.oddzial)
AS `adres`,
zlec_z_dnia,zlec_id,
zlec_nr,
zlec_do,
zlec_ogran,
awizacje,
awizacja_na_dzien,
termin_zamkniecia,
tresc,
uwagi
FROM zlec
INNER JOIN koord
ON zlec.koord = koord.id
INNER JOIN zlec_adresy
ON zlec.zlec_addres = zlec_adresy.id
INNER JOIN piorytet
ON zlec.priorytet = piorytet.id
INNER JOIN zlec_status
ON zlec.status_zlecenia = zlec_status.id
WHERE `zlec_adresy`.`miasto` LIKE '%".array_values($activeFilters)[0]."%'
OR
`zlec_adresy`.`ulica` LIKE '%".array_values($activeFilters)[0]."%'
OR
`zlec_adresy`.`oddzial` LIKE '%".array_values($activeFilters)[0]."%'
LIMIT 0,10");
if ($wynik === false){
echo '<p>Zapytanie nie zostało wykonane poprawnie!</p>';
$polaczenie -> close();
}
else {
$foutput = null;
while(($row = $wynik -> fetch_assoc()) !== null){
$foutput[] = array(
'zlec_id' => $row['zlec_id'],
//'koord' => $zlecenie->get_coord($row['koord']),
'priorytet' =>$row['Priorytet'],
'zlec_addres' => $row['adres'],
'zlec_z_dnia' => $row['zlec_z_dnia'],
'zlec_nr' => $row['zlec_nr'],
'zlec_do' => $row['zlec_do'],
'zlec_ogran' => $row['zlec_ogran'],
'awizacje' => $zlecenie->get_person_awizo($row['awizacje']),
'awizacja_na_dzien' => $row['awizacja_na_dzien'],
'status_zlecenia' => $row['Status'],
'termin_zamkniecia' => $row['termin_zamkniecia'],
'tresc' => $row['tresc'],
'uwagi' => $row['uwagi']
);
}
$wynik -> close(); // zwolnienie pamięci
$polaczenie -> close();
}
$fquery = $db->query("SELECT zlec_status.nazwa AS Status,
piorytet.nazwa AS Priorytet,
Concat(koord.imie, ' ', koord.nazwisko) AS `Koordynator`,
Concat(zlec_adresy.miasto, ' - ', zlec_adresy.ulica, ' ',
zlec_adresy.oddzial)
AS `adres`,
zlec_z_dnia,zlec_id,
zlec_nr,
zlec_do,
zlec_ogran,
awizacje,
awizacja_na_dzien,
termin_zamkniecia,
tresc,
uwagi
FROM zlec
INNER JOIN koord
ON zlec.koord = koord.id
INNER JOIN zlec_adresy
ON zlec.zlec_addres = zlec_adresy.id
INNER JOIN piorytet
ON zlec.priorytet = piorytet.id
INNER JOIN zlec_status
ON zlec.status_zlecenia = zlec_status.id
WHERE :where_st LIMIT :start, :pagesize", array(
"start" => $start,
"pagesize" => $pagesize,
"where_st" => $where
));
$pagenum = $_GET['pagenum'];
$pagesize = $_GET['pagesize'];
$start = $pagenum * $pagesize;
switch (array_keys($activeFilters)[0]) {
case "zlec_addres":
$where .= "`zlec_adresy`.`miasto` LIKE '%".array_values($activeFilters)[0]."%'
OR
`zlec_adresy`.`ulica` LIKE '%".array_values($activeFilters)[0]."%'
OR
`zlec_adresy`.`oddzial` LIKE '%".array_values($activeFilters)[0]."%'";
break;
}
SELECT zlec_status.nazwa AS Status,
piorytet.nazwa AS Priorytet,
Concat(koord.imie, ' ', koord.nazwisko) AS `Koordynator`,
Concat(zlec_adresy.miasto, ' - ', zlec_adresy.ulica, ' ',
zlec_adresy.oddzial)
AS `adres`,
zlec_z_dnia,zlec_id,
zlec_nr,
zlec_do,
zlec_ogran,
awizacje,
awizacja_na_dzien,
termin_zamkniecia,
tresc,
uwagi
FROM zlec
INNER JOIN koord
ON zlec.koord = koord.id
INNER JOIN zlec_adresy
ON zlec.zlec_addres = zlec_adresy.id
INNER JOIN piorytet
ON zlec.priorytet = piorytet.id
INNER JOIN zlec_status
ON zlec.status_zlecenia = zlec_status.id
WHERE `zlec_adresy`.`miasto` LIKE '%Sz%'
OR
`zlec_adresy`.`ulica` LIKE '%Sz%'
OR
`zlec_adresy`.`oddzial` LIKE '%Sz%' LIMIT 0, 10
这是非常有线的,因为MySQLi处理程序和phpmyadmin中的直接sql查询都返回了所需的数据 - 但似乎PDO处理程序没有显示任何内容,只有我想到的是我使用的东西'%".array_values($activeFilters)[0]."%'
作为查询的字符串注入,但它应该作为参数传递 - 我不确定我可能是错的我真的想坚持创建下一个数据库连接的PDO instate。你可以尝试解释一下为什么它不显示? Var_dumping PDO查询返回数组(0) - 回显代码并粘贴到phpmyadmin返回9个受影响的行。 此外,相同的查询但没有WHERE部分 - 正常运行并显示受影响的行甚至更有线