0
代碼正確的查詢我根據這樣的數據庫字段做一個項目,其中,登記表由:用於生成登記表格
function generateForm() {
$db = new mysqli('localhost', 'root', 'toor', 'hybrid_offline_reg');
$query = $db->query('DESCRIBE `' . $_SESSION['tableName'] .'`');
$fields = array();
while($row = $query->fetch_assoc()) {
$fields[] = $row['Field'];
$types[] = $row['Type'];
}
echo "<form method='post' action='successpage.php' align='center'>
<table align='center'>";
foreach($fields as $key => $field) {
$type = $types[$key];
echo "<tr>";
switch ($field) {
case "FNAME":
echo "<td>First Name</td><td>:</td>
<td><input type='text' name='FNAME' size=30></td>";
break;
case "MNAME":
echo "<td>Middle Name</td><td>:</td>
<td><input type='text' name='MNAME' size=30></td>";
break;
case "LNAME":
echo "<td>Last Name</td><td>:</td>
<td><input type='text' name='LNAME' size=30></td>";
break;
echo "</tr>";
}
echo "</table><br>
<input type='submit' name='submitForm' value=' Submit '>
<input type='reset' name='resetForm' value=' Clear '>
</form>";
而且在successpage.php,這是個什麼樣子像迄今爲止:
session_start();
$db = new mysqli('localhost', 'root', 'toor', 'hybrid_offline_reg');
$query = $db->query('DESCRIBE `' . $_SESSION['tableName'] .'`');
//$fields = array();
$insert_sql = "INSERT INTO `" . $_SESSION['tableName'] . "`(";
while($row = $query->fetch_assoc()) {
$f = $row['Field'];
switch ($f) {
case "USER_ID":
case "DATE_CREATED": break;
default:
$insert_sql .= "`$f`,";
break;
}
}
$insert_sql = substr_replace($insert_sql, "", -1);
$insert_sql .= ") VALUES (";
$query = $db->query('DESCRIBE `' . $_SESSION['tableName'] .'`');
while($row = $query->fetch_assoc()) {
$i = $row['Field'];
switch ($i) {
case "USER_ID":
case "DATE_CREATED": break;
default:
$insert_sql .= '`$_POST["' . $i . '"]`,' ;
break;
}
}
$insert_sql = substr_replace($insert_sql, "", -1);
$insert_sql .= ")";
$res = mysql_query($insert_sql);
echo "Successfully registered!";
但顯然,$insert_sql .= '
是不正確的,因爲$_POST["' . $i . '"]
,';$_POST
不應該是一個字符串,因爲我試圖獲得它的價值。但我也試圖取決於$i
的$_POST
的名稱。
幫助,任何人? D:提前謝謝!
我使用了'$ insert_sql。=「'」。 mysqli_real_escape_string($ db,$ _POST [$ i])。「',」;'既然「'」不被接受,它需要兩個參數。哦,查詢部分也是固定的。非常感謝您的幫助,是的,我會閱讀SQL注入。 :) – Suika 2014-10-02 06:03:12