我試過每個版本的代碼,但它不工作。我有一個調用Post-PHP頁面的HTML表單來在數據庫中插入幾個字段。只有帶有直接文本的字段纔會添加,但通過參數$_POST
發送的任何內容都是空的 - 無論我改變什麼內容都無法通過。PHP MySQL通過html表格插入查詢,參數不通過
HTML表單:
<html>
<table><form method="post" action="input.php">
<tr><td>Post Title</td>
<td><input type="text" name="fdt_post_title" size="20"></td></tr>
<tr><td>Post URL</td><td><input type="text" name="fdt_post_url" size="40"></td></tr>
<tr><td>Post Description</td><td><input type="text" name="fdt_post_desc" size="40"></td></tr>
<tr><td>Post Title for FB</td><td><input type="text" name="fdt_post_title_fb" size="40"></td></tr>
<tr><td>Image URL</td><td><input type="text" name="fdt_image_url_fb" size="40"></td></tr>
<tr><td></td><td align="right"><input type="submit" name="submit" value="Submit"></td></tr>
</form></table>
</html>
input.php頁:
<?php
$dt_post_title = mysql_real_escape_string($_POST['$fdt_post_title']);
$dt_post_url = mysql_real_escape_string($_POST['$fdt_post_url']);
$dt_post_desc = mysql_real_escape_string($_POST['$fdt_post_desc']);
$dt_post_title_fb = mysql_real_escape_string($_POST['$fdt_post_title_fb']);
$dt_image_url_fb = mysql_real_escape_string($_POST['$fdt_image_url_fb']);
$link = mysql_connect("localhost","root","");//database connection
mysql_select_db("bighorn1_autoshare", $link);
$now = date();
//inserting data order
$order = "INSERT INTO topics
(id, title, url, description, facebook_post, facebook_image, facebook_pubstatus, date_published)
VALUES
(DEFAULT, '$dt_post_title', '$dt_post_url', '$dt_post_desc', '$dt_post_title_fb', '$dt_image_url_fb', '0', '$now')";
//declare in the order variable
$result = mysql_query($order, $link); //order executes
if($result){
echo("<br>Input data is succeed<br>");
} else {
echo("<br>Input data is fail<br>");
}
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>
在該表中,現場id
是Primary, Not Null, Auto Increment
。所有我得到的是id
數量遞增以達到新的行下單,facebook_pubstatus
爲0
和date_published as
0000-00-00 00:00:00`
--------------------------------------------------------------------------------------------------------------------------------
id | title | url | description | facebook_post | facebook_image | facebook_pubstatus | date_published |
--------------------------------------------------------------------------------------------------------------------------------
1 | | | | | | 0 | 0000-00-00 00:00:00 |
--------------------------------------------------------------------------------------------------------------------------------
2 | | | | | | 0 | 0000-00-00 00:00:00 |
--------------------------------------------------------------------------------------------------------------------------------
等等....
如果我更改爲(DEFAULT, '$dt_post_title', '$dt_post_url' .... ") like (DEFAULT, 'test String 1',......)
中的直接字符串,則此文本沒有問題經過。
任何神奇可感,謝謝。
還強調這部分太多了,我的大腦沒有搞清楚現在的日期是什麼,爲什麼所有的零都是零。
謝謝
請,或不使用'mysql_ *'功能(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions- in-php),它們不再被維護,並且[已正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。學習[準備的語句](http://en.wikipedia.org/wiki/Prepared_statement),並使用[PDO](http://us1.php.net/pdo)或[MySQLi](http:// us1.php.net/mysqli)。 [本文](http://php.net/manual/en/mysqlinfo.api.choosing.php)將幫助你決定。 – 2014-11-06 20:10:39
在打開'<?php tag error_reporting(E_ALL)'後立即向文件頂部添加錯誤報告; ini_set('display_errors',1);' – 2014-11-06 20:12:07
謝謝@JayBlanchard我一定會考慮它。 – user2350586 2014-11-06 20:13:42