如果你想要把这些价值观念,使其成为一个密钥对价值和不介意任何顺序,按相应的分配给它。
将数值推入数组中,然后爆炸。不需要对内爆字符串进行更改。
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