表单输入在 MySQL 数据库中保存为“1”
Form inputs getting saved in MySQL database as '1'
我在 PHP 中有以下代码来测试将数据从简单的 Web 表单保存到 MySQL。该表单有两个接受文本的基本框:input1 和 input2。当我完成这些并点击提交时,没有任何问题。但是,当我在 MySQL 中访问数据库时,我只看到“1”,我应该在其中看到我输入的实际文本。起初我认为这就像一个布尔值,但两个字段都设置为接受 VARCHAR(并设置为 null)。无论我是否在表单中输入文本,都会出现 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);
?>
感谢您的帮助。
你做错了
$value1 = isset($_POST['input1']);
$value2 = isset($_POST['input2']);
你在这里做的是,你正在保存布尔值。分别添加到变量 $value1
和 $value2
。那是 True = 1
& False = 0
并且您正在将其插入数据库。难怪数据库中有 0 和 1。
if(isset($_POST['input1']) && isset($_POST['input2'])){
$value1 = $_POST['input1'];
$value2 = $_POST['input2'];
}
这样就可以了
我在 PHP 中有以下代码来测试将数据从简单的 Web 表单保存到 MySQL。该表单有两个接受文本的基本框:input1 和 input2。当我完成这些并点击提交时,没有任何问题。但是,当我在 MySQL 中访问数据库时,我只看到“1”,我应该在其中看到我输入的实际文本。起初我认为这就像一个布尔值,但两个字段都设置为接受 VARCHAR(并设置为 null)。无论我是否在表单中输入文本,都会出现 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);
?>
感谢您的帮助。
你做错了
$value1 = isset($_POST['input1']);
$value2 = isset($_POST['input2']);
你在这里做的是,你正在保存布尔值。分别添加到变量 $value1
和 $value2
。那是 True = 1
& False = 0
并且您正在将其插入数据库。难怪数据库中有 0 和 1。
if(isset($_POST['input1']) && isset($_POST['input2'])){
$value1 = $_POST['input1'];
$value2 = $_POST['input2'];
}
这样就可以了