我在PHP中使用下面的代碼來測試將數據從簡單的Web表單保存到MySQL中。表單有兩個接受文本的基本框:input1和input2。當我完成這些並點擊提交時,沒有問題。但是,當我在MySQL中訪問數據庫時,我只看到'1',在那裏我應該看到我輸入的實際文本。起初,我認爲這是一個布爾型,但兩個字段都設置爲接受VARCHAR(並設置爲null)。無論我在表單中輸入文字還是出現1。表單輸入在MySQL數據庫中保存爲'1'
非常基本的HTML表單:
<form action="signupform.php" method="post" />
<p> Input 1: <input type="text" name="input1" /></p>
<p> Input 2: <input type="text" name="input2" /></p>
<input type="submit" value="Submit" />
</form>
這裏使用的PHP:
$connection = mysqli_connect(DB_SERVER,DB_USER,DB_PASSWORD,DB_NAME);
if (!$connection) {
die('Could not connect: ' . mysqli_connect_error());
}
$connection_selected = mysqli_select_db($connection, 'demo');
if (!$connection_selected) {
die('Can\'t use ' . 'DB_NAME' . ': ' . mysqli_error($connection));
}
echo 'Connected successfully';
$value1 = isset($_POST['input1']);
$value2 = isset($_POST['input2']);
$sql = "INSERT INTO form1 (input1, input2) VALUES ('$value1', '$value2')";
if (!mysqli_query($connection, $sql)) {
die('Error: ' . mysqli_error($connection));
}
mysqli_close($connection);
?>
欣賞的幫助。
把'的var_dump($ _ POST);退出;'在PHP文件的頂部,看看它說什麼。 – jonbaldie
你可以通過使用PHP框架來消除所有這些基本問題的痛苦,它會模仿這樣的東西,讓你去做有趣的事情 –
只需刪除isset()以查看它是否有效。 –