Создание динамического массива для mysql update – php

Как создать динамический запрос, например, в insertIntoDb для updateDbRecord? Учитывая, что я хочу обновить определенный идентификатор, используя update_id=$_GET['id']; поскольку мой идентификатор хранится в моем URL-адресе, то есть somepage.php? id = 12

 function insertIntoDb($db, $table, $carry, $carryUrl) { mysql_select_db($db) or die("Could not select database. " . mysql_error()); $resultInsert = mysql_query("SHOW COLUMNS FROM " . $table); $fieldnames=array(); if (mysql_num_rows($resultInsert) > 0) { while ($row = mysql_fetch_array($resultInsert)) { $fieldnames[] = $row['Field']; $values = array_intersect_key( $_POST, array_flip($fieldnames) ); } } $sql = sprintf('INSERT INTO %s (%s) VALUES ("%s")', $table, implode(', ', array_map('mysql_escape_string', array_keys($values))), implode('", "',array_map('mysql_escape_string', $values))); mysql_query($sql); /* if ($carry == 'yes') { redirect($carryUrl.'?id='.$_REQUEST['id']); } else { echo '<div class="success">Data was entered into the database successfully!<br><a href="view.php?type=recent">View listing?</a></div>'; } */ } function updateDbRecord($db, $table) { mysql_select_db($db) or die("Could not select database. " . mysql_error()); $resultInsert = mysql_query("SHOW COLUMNS FROM " . $table . " WHERE Field NOT IN ('id')"); $fieldnames=array(); if (mysql_num_rows($resultInsert) > 0) { while ($row = mysql_fetch_array($resultInsert)) { $fieldnames[] = $row['Field']; $values = array_intersect_key( $_POST, array_flip($fieldnames) ); } } #update syntax } 

что-то вдоль этих строк, чтобы создать инструкцию update.

 // todo sanitise with mysql_escape_string() foreach($arr as $key => $v) { $val = is_numeric($v) ? $v : "'" . $v . "'"; $set .= sprintf("%s=%s%s", $key, $val, ($v == end($arr) ? "" : ", ")); } $sql = sprintf("UPDATE %s SET %s", $table, $set);