gpt4 book ai didi

php - 如何获取下拉列表的值并插入到MySQL服务器中?

转载 作者:行者123 更新时间:2023-11-29 05:49:34 25 4
gpt4 key购买 nike

声明

我想使用 PHP 文件从 main.php 文件的下拉列表中获取值到 MySQL 服务器。

条件

如果用户没有选择任何选项或选择默认选项 <option value="0">(Select Animal)</option>其中选项值 = 0。

然后如果选项值 = 0,则不应将下拉列表中的值插入 MySQL 服务器。

那么,我需要在 add.php 中添加什么?

ma​​in.php

<html>
<?php
include 'connection.php';
require_once 'add.php';
?>
<body>
<form method="post" action="add.php">
<select id="animal" name="animal">
<option value="0">(Select Animal)</option> <!--Non select option-->
<option value="Cat">Cat</option>
<option value="Dog">Dog</option>
<option value="Cow">Cow</option>
</select>
<button type="submit" name="Save">Save</button > <!--Send the selected value to add.php-->
</form>
</body>
</html>

另一个 PHP 文件 (add.php)

<?php

include 'connection.php';
if(isset($_POST['Save']))
{
$animal = mysqli_real_escape_string($conn,$_POST['animal']; );
$conn->query("INSERT INTO animal (name) VALUES(?)");
header("location: main.php");
}
?>

最佳答案

在检查它是否已设置之前确保您知道数组键存在,否则您可能会收到错误/警告。

然后确保动物值大于 0...并将其包含在您的查询中。

<?php
include 'connection.php';
if(array_key_exists('Save', $_POST)) {
if(array_key_exists('animal', $_POST) && $_POST['animal'] > 0) {
$animal = mysqli_real_escape_string($conn, $_POST['animal']);

//Prepare statement
$conn->prepare("INSERT INTO animal (name) VALUES (?)");

//Include animal value in string query
$conn->bind_param("s", $animal);

//Run query
$conn->query($sql);

header("location: main.php");
} else {
//Fail gracefully
header("location: error.php"); //Or whereever you want to redirect to.
}
}
?>

请记住,您实际上并未在此处运行查询。

您只是将它创建为一个字符串,也没有向它添加 animal 的值。

此外,在执行 mysqli_real_escape_string() 时删除 $_POST['animal'] 之后的分号。

编辑:我已经用你的更新更新了我的。

编辑 2:我还添加了正确准备声明所需的内容。

关于php - 如何获取下拉列表的值并插入到MySQL服务器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55729961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com