我討厭鍵入INSERT查詢,你總是錯過某些東西,並得到語法錯誤。因此,我想創建自己的功能,讓我這樣做。這是我到目前爲止:改進此插入類函數php
$data['test'] = array('username' => 'john',
'password' => 'hello',
'userlevel' => '__d');
$table = 'users';
$numItems = count($data['test']);
$i = 0;
$sql = "INSERT INTO " . $table . "(". implode(", ", array_keys($data['test'])) .")";
$sql .= " VALUES (";
foreach ($data['test'] as $value) {
if ($i+1 == $numItems and $value == '__d') {
$sql .= "" . 'NOW()' . ")";
} else if ($i+1 == $numItems) {
$sql .= "'" . $value . "')";
} else if ($value == '__d') {
$sql .= "" . 'NOW()' . ", ";
} else {
$sql .= "'" . $value . "', ";
}
$i++;
}
echo $sql;
恩,是的。有關如何改進此代碼的任何提示?
你需要逃避你的值來防止SQL注入:HTTP:// PHP .net/manual/en/security.database.sql-injection.php –
我不這樣做,在數據庫類功能。我這樣做,外面:) – John
這是工作代碼? – Herbert