Pagina 1 din 1

implode(): Passing glue string after array is deprecated

Scris: Joi Apr 06, 2023
de Senior70
Dupa 7 ani !
Acum, revazand o veche aplicatie cu codul "Multiple Select Drop Down list" cu tabel 3 coloane +1; am constatat ca datorita upgradarii PHP-ului meu la PHP 7.4.33 la codul "select_list.php" imi afiseaza:

Cod: Selectaţi tot

Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in C:\wamp ... la linia 40
Dar numai cand rulez programul pe localhost, iar rulat din domeniu, pe Hosting nu apare acest mesaj. Fiind totusi un programator fara multa experienta, nu prea am inteles ce se petrece ... toate incercarile mele de a rezolva problema, nu au dat rezultate.
Probabil ca trebuie sa inlocuiesc Apache 2.4.54.2 ???

Cod: Selectaţi tot

17  $table = 'do_se_op';
18  $ar_cols = array('domeniu', 'sectiune', 'optiune', 'null');
............
39  $where = isset($ar_where) ? ' WHERE '. implode($ar_where, ' AND ') : '';
40  $sql = "SELECT DISTINCT `$col` FROM `$table`".$where;
41  $result = $conn->query($sql);
Daca si dupa atata vreme m-ati putea lamuri, TOATA STIMA !

implode(): Passing glue string after array is deprecated

Scris: Vin Apr 07, 2023
de MarPlo
Salut,
Nu stiu ce ai incercat, dar dupa cum reiese din mesajul de eroare "Swap the parameters", spune sa schimbi parametri intre ei. Astfel, variabila de tip array e pusa ca al doilea parametru.
Vezi si in manualul php la:
php.net/manual/en/function.implode.php#refsect1-function.implode-changelog

Astfel, in codul tau inlocuieste linia respectiva {39} cu aceasta:

Cod: Selectaţi tot

$where = isset($ar_where) ? ' WHERE '. implode( ' AND ',$ar_where) : '';

implode(): Passing glue string after array is deprecated

Scris: Vin Apr 07, 2023
de Senior70
OK ! Eu nu am inteles despre ce parametri era vorba. S-a rezolvat, multumesc pentru promptitudinea cu care mi-ai raspuns ! TOATE CELE BUNE !!!