Salut,
Cum cconstruiesc o comanda INSERT eleganta dintr-un array asociativ cu $key - numele cimpului si $value-variabila POST? Multumesc.
insert cu numele coloanelor si valori din array asociativ
-
- Mesaje:430
insert cu numele coloanelor si valori din array asociativ
MarPlo
Mesaje:4343
Salut,
Daca folosesti clasa PDO_MySQLi e cel mai indicat asa (fiindca are deja aceasta facilitate de a folosi valori din array, iar valorile transmise separat in array le filtreaza si pentru protectie sql injection).
Alta varianta, fara clasa PDO_MySQLi:
Daca folosesti clasa PDO_MySQLi e cel mai indicat asa (fiindca are deja aceasta facilitate de a folosi valori din array, iar valorile transmise separat in array le filtreaza si pentru protectie sql injection).
Cod: Selectaţi tot
//cu clasa PDO_MySQLi
$arr =['col1'=>'val 1', 'col2'=>'val 2', 'col3'=>'val 3'];
$cols = array_keys($arr); //get the keys
$sql ="INSERT INTO table_nm (". implode(', ', $cols) .") VALUES ( :". implode(', :', $cols) .")";
//test
echo $sql; // INSERT INTO table_nm (col1, col2, col3) VALUES ( :col1, :col2, :col3)
//perform the $sql with placeholders in the SQL, and array with values for associated names
$conn->sqlExec($sql, $arr);
if($conn->error === false) echo 'Data succesfully inserted';
else echo 'Error: '. $conn->error;
Cod: Selectaţi tot
$arr =['col1'=>'val 1', 'col2'=>'val 2', 'col3'=>'val 3'];
$cols = implode(', ', array_keys($arr)); //get the keys
$vals = "'". implode("', '", array_values($arr)) ."'"; //get the values
$sql ="INSERT INTO table_nm ( $cols ) VALUES ( $vals )";
//test
echo $sql; // INSERT INTO table_nm ( col1, col2, col3 ) VALUES ( 'val 1', 'val 2', 'val 3' )
andras
Mesaje:430
Folosesc clasa PDO_MySQLi dar imi sint utile ambele variante.
Subiecte similare
- Setare valori din array in select tag
JavaScript - jQuery - Ajax Primul mesaj
Salut am un array cu orele de functionareUltimul mesaj
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:... - parametru din array in query cu laravel
PHP - MySQL - XML Primul mesaj
Salutare,Ultimul mesaj
din frontend primesc urmatorul array:
$arrClienti =
dupa care ii fac implode
$idClienti = preg_replace('/ /i', '', implode( , ,...
Dupa multe sapaturi, am ajuns la concluzia ca nu se poate rula ca parametru o matrice. Doar daca parametrul cu matricea este rulat intr-un loop.... - Indexi valorilor din array care fac suma
PHP - MySQL - XML Primul mesaj
Salutare,Ultimul mesaj
am un array cu urmatoarele numere:
arr =
si o variabila, care poate contine numere intregi de la 50 pana 750 (750 este suma...
Mulțumesc mult marplo, este ceea ce îmi trebuie - implode(): Passing glue string after array is deprecated
PHP - MySQL - XML Primul mesaj
Dupa 7 ani !Ultimul mesaj
Acum, revazand o veche aplicatie cu codul Multiple Select Drop Down list cu tabel 3 coloane +1; am constatat ca datorita upgradarii...
OK ! Eu nu am inteles despre ce parametri era vorba. S-a rezolvat, multumesc pentru promptitudinea cu care mi-ai raspuns ! TOATE CELE BUNE !!!