2017-10-14 151 views
1

每次我提交我的網站的表單時,它只會創建一個新的ID。但是其他所有的值都是空的,我該怎麼辦?無法將文本值上傳到mysql

screenshot of table

<?php 
error_reporting(E_ALL);ini_set('display_errors',1); 

$servername = "localhost"; 
$username = "seamaszhou"; 
$password = "123456"; 
$dbname = "guest"; 




$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, 
$password); 
// set the PDO error mode to exception 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

// prepare sql and bind parameters 
$stmt = $conn->prepare("INSERT INTO guest 
(guestName,guestEmail,guestContent) 
VALUES (:guestName, :guestEmail, :guestContent)"); 

$stmt->bindParam(':guestName', $guestName); 
$stmt->bindParam(':guestEmail', $guestEmail); 
$stmt->bindParam(':guestContent', $guestContent); 

// insert a row 
$guestName = "$guestName"; 
$guestContent = "$guestContent"; 
$guestEmail = "$guestEmail"; 
$stmt->execute(); 



?> 

回答

4

因爲你沒有設置任何值。當你這樣做:

$guestName = "$guestName"; 

變量$guestName被設置爲包含可變$guestName的當前值的字符串。由於它不包含任何內容,因此只需將其設置爲空字符串即可。

使用實際值。例如:

$guestName = "Some name"; 

或者,如果你從字面上想要一個變量名作爲一個字符串,用單引號所以它不會解釋爲一個變量:

$guestName = '$guestName'; 
+0

見有關[PHP手冊字符串](http://php.net/manual/en/language.types.string.php)並閱讀「可變擴展」。 –

+0

感謝大衛的幫助。我其實想要製作一個表單讓用戶填寫這些信息,然後提交給我的服務器。我該怎麼做?我嘗試了'$ guestContent = $ _ POST ['guestContent'];'但似乎不起作用。 –

+0

@seamaszhou:有什麼不適合呢?這個價值是否被首先發布?顯示的代碼不包含任何HTML表單,您需要這些表單才能擁有HTML表單。 – David