如果你想要把這些價值觀念,使其成爲一個密鑰對價值和不介意任何順序,按相應的分配給它。
將數值推入數組中,然後爆炸。不需要對內爆字符串進行更改。
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();
}
旁註:如果你想要的ID是第一個,那麼可以使用另一種方法:
$data = array_merge(array($x => $rid), $data);
究竟是你想怎麼辦? – 2015-02-12 01:24:41
我們不明白你的意思是「插入(變量)到(代碼行)」。你可以備份一下,試着解釋你的目標 - 你想要這個代碼有什麼*效果*,這還沒有發生? – zwol 2015-03-09 18:20:04