Come ti ho detto con i prepared statements tu gli passi i dati. Ci pensa poi il driver a fare l'escaping e tutto ciò che serve per eseguire la query in modo corretto.
"mysqli_stmt_bind_param" associa variabili per una dichiarazione preparata come parametri , che vuol dire????
Se hai notato, nella query non ci sono i valori ma dei ?
Codice PHP:
$stmt = mysqli_prepare($link, "INSERT INTO campi(textarea,checkbox,radio,select) VALUES (?, ?, ?, ?)");
Ovviamente bisogna sostituire i ? con i dati veri e propri. questo lo si fa con la mysqli_stmt_bind_param.
Ci sono 4 punti interrogativi, quindi devi passargli 4 valori. Inoltre va specificato di che tipo sono (il secondo parametro)
Codice PHP:
mysqli_stmt_bind_param($stmt, "ssss", $mess, $checkbox, $radio, $select);
$mess prenderà il posto del promo ?, $checkbox del secondo e così via.
"ssss": ogni lettera rappresenta il tipo del valore da inserire di un singolo parametro. la s sta per string. gli altri possibili valori sono i (intero), d(double), b(blob).
Quindi se il campo radio fosse un intero, dovresti scrivere "ssis"
ps: ovviamente anche $checkbox $radio e $select sono valori che vai a recuperare da qualche parte