Если вы хотите, чтобы раздвинуть эти значения и сделать его значение пара ключей и не виду любой заказ, нажмите назначить его соответствующим образом.
Нажимайте значение при его массиве, а затем взорвите. Нет необходимости вносить изменения в вискозную строку.
if(count($data) > 0){
// key-pair values to be appended
$x = "rid"; // the key
$rid = $_SESSION['rid']; // the value
$data[$x] = $rid; // just assign
$values = implode("','", array_values($data));
mysql_query("INSERT INTO appetizer (".implode(",",array_keys($data)).") values ('".$values."')");
return mysql_insert_id();
}
Я настоятельно рекомендую использовать более новый API, MySQLi или PDO.
if(count($data) > 0){
// key-pair values to be appended
$x = "rid"; // the key
$rid = $_SESSION['rid']; // the value
$data = array_merge(array($x => $rid), $data);
$keys = array_keys($data);
$values = array_values($data);
$sql = 'INSERT INTO appetizer (' . implode(',', $keys) . ') VALUES (' . rtrim(str_repeat('?, ', count($keys)), ', ') . ')';
$db = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$insert = $db->prepare($sql);
$insert->execute($values);
return $db->lastInsertId();
}
Sidenote: Если вы хотите ID быть первым, то другой способ может быть использован:
$data = array_merge(array($x => $rid), $data);
, что именно вы пытаетесь сделать? –
Мы не понимаем, что вы подразумеваете под «insert (variable) to (строка кода)». Не могли бы вы немного подправить и попытаться объяснить свою цель - какой * эффект * вы хотите, чтобы этот код имел, что еще не происходит? – zwol