You can try this solution:
function escape($col, $conn) { return mysqli_real_escape_string($conn, $_GET[$col]); } function insert($tbl, $dataArray) { foreach ($dataArray as $k => $v) { $keys .= $k . ", "; $values .= "'" . $this->real_escape_string($v) . "', "; } $keys = substr($keys, 0, strlen($keys) - 2); $values = substr($values, 0, strlen($values) - 2); $sql = "INSERT INTO " . $tbl . "(" . $keys . ") VALUES(" . $values . ")"; $exeq = mysqli_query($sql); return $exeq; } $fields = array("item_code", "item_name", "supplier_name", "brand_name", "quantity", "unit_name", "price", "type_name", "cat_name"); if (isset($_GET['submit'])) { $item_code = escape('item_code', $conn); $item_name = escape('item_name', $conn); $supplier = escape('supplier_name', $conn); $brand = escape('brand_name', $conn); $quantity = escape('quantity', $conn); $unit = escape('unit_name', $conn); $price = escape('price', $conn); $item_type = escape('type_name', $conn); $category = escape('cat_name', $conn); foreach ($fields as $field) { if (!$_GET[$field]) { header("Location: item.php?attempt=empty"); } } $dataInsert = array( 'item_code' => $item_code, 'item_name' => $item_name, 'supplier_name' => $supplier, 'brand_name' => $brand, 'quantity' => $quantity, 'unit_name' => $unit, 'price' => $price, 'type_name' => $item_type, 'cat_name' => $category ); if ( insert("itemlist", $dataInsert) ) { header("Location: item.php?attempt=saved"); } else { echo "Could not execute the insert query."; exit(); } }
source share