我想從這個簡單的html網格數據推入sql,但我不能這樣做。在一開始,我得到了var var impressions沒有索引的錯誤。我修正了這一點。當我只使用廣告客戶價值時,我可以將數據推送到MySQL,而使用第二個值時,我無法成功。你能解釋我做錯了什麼嗎? 在此先感謝如何將數據從html網格推送到mysql?
<?php
include_once 'con_ui.php';
if(isset($_POST['btn-save']))
{
$advertiser = $_POST["advertiser"];
$impressions = (isset($POST["impressions"])?
$_POST["impressions"]:'');
$sql_query = "INSERT INTO data(adv, imp) VALUES('$advertiser', '$impressions')";
mysql_query($sql_query);
// sql query for inserting data into database
}
?>
<html>
<head>
</head>
<body>
<form method="post">
<table id="myTable" align='center' cellspacing=0 cellpadding=5 border=1>
<tr>
<th>advertiser</th>
<th>impressions</th>
</tr>
<td>
<select name="advertiser" id="advertiser">
<option value="">Select advertiser</option>
<option value = "Brita ">Brita</option>
<option value = "Sammontana">Sammontana</option>
</select>
</td>
<td name= "impressions" id="impressions" >1000000</td>
<td>
<button type="submit" name="btn-save"><strong>SAVE</strong></button>
</td>
</form>
</body>
</html>
僅供參考,[你不應該在新代碼中使用'mysql_ *'函數](http://stackoverflow.com/questions/12859942/)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[紅盒](http://php.net/manual/en/function.mysql-connect.php)?學習[*準備的語句*](https://en.wikipedia.org/wiki/Prepared_statement),並使用[PDO](http://php.net/pdo)或[MySQLi](http:// php.net/mysqli) - [這篇文章](http://php.net/manual/en/mysqlinfo.api.choosing.php)將幫助你決定哪一個最適合你。 –
你的腳本存在[SQL注入攻擊]的風險(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)看看發生了什麼事[Little鮑比表](http://bobby-tables.com/)即使[如果你逃避投入,它不安全!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around -mysql-real-escape-string)使用[prepared parameterized statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。 –
你不知道什麼是錯的,因爲你不檢查代碼中的錯誤。永遠不要假設代碼總是完美無缺地工作。 –