基于所选值的PHP删除
我正在尝试根据选定的值删除表中的行。例如 我有一个选择列表和一个文本框,当你从选择列表中选择行,并键入城市,它应该删除该行。我不能让它正常工作基于所选值的PHP删除,php,mysql,Php,Mysql,我正在尝试根据选定的值删除表中的行。例如 我有一个选择列表和一个文本框,当你从选择列表中选择行,并键入城市,它应该删除该行。我不能让它正常工作 <p>Select which row to <span class="del">DELETE</span> by selecting a Row from the dropdown and verifying by typing in the city.</p> <br> <form m
<p>Select which row to <span class="del">DELETE</span> by selecting a Row from the dropdown and verifying by typing in the city.</p>
<br>
<form method="POST" action"<?php echo $_SERVER['PHP_SELF']; ?>">
<select>
<option value=""></option>
<option value="teamnameD">Team Name</option>
<option value="cityD">City</option>
<option value="bestplayerD">Best Player</option>
<option value="yearformedD">Year Formed</option>
<option value="websiteD">Website</option>
</select>
<br><br>
Verify <span class="del">DELETE</span> by Typing in Name of city 
<input type="text" name="cityD1">
<br><br>
<input class="styled-button" type="submit" name="selectList" value="Submit"><br><br>
</form>
<?php
if (isset($_POST['selectList'])){
}
if (isset($_POST['teamnameD'])) {
teamnameD();
}
function teamnameD() {
$servername = "localhost:3306";
$username = "";
$password = "";
$dbname = "";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
echo "Cannot Connect to database ";
}
$stmt = $conn->prepare ("DELETE FROM Teams WHERE $selectName LIKE $selectCity");
$selectName = $_POST['teamnameD'];
$selectCity = $_POST['cityD1'];
$stmt->execute();
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
}
通过从下拉列表中选择一行并在城市中键入验证来选择要删除的行
应该是这样的
$selectName = $_POST['teamnameD'];
$selectCity = $_POST['cityD1'];
$stmt = $conn->prepare ("DELETE FROM Teams WHERE $selectName LIKE $selectCity");
有几个问题。select没有名称,因此在下面的列表中,我将其设置为“fieldName”。我更改了check if submited条件以检查submit按钮的值
然后,您应该将参数绑定到准备好的查询,然后执行。在下面的代码中,我还添加了错误检查(简单的回显和失败时退出)
通过从下拉列表中选择一行并在城市中键入验证来选择要删除的行
代码无法正确输入函数
<p>Select which row to <span class="del">DELETE</span> by selecting a Row from the dropdown and verifying by typing in the city.</p>
<br>
<form method="POST" action"<?php echo $_SERVER['PHP_SELF']; ?>">
<select>
<option value=""></option>
<option value="teamnameD">Team Name</option>
<option value="cityD">City</option>
<option value="bestplayerD">Best Player</option>
<option value="yearformedD">Year Formed</option>
<option value="websiteD">Website</option>
</select>
<br><br>
Verify <span class="del">DELETE</span> by Typing in Name of city 
<input type="text" name="cityD1">
<br><br>
<input class="styled-button" type="submit" name="selectList" value="Submit"><br><br>
</form>
<?php
if (isset($_POST['selectList'])){
}
if (isset($_POST['teamnameD'])) {
teamnameD();
}
function teamnameD() {
$servername = "localhost:3306";
$username = "";
$password = "";
$dbname = "";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
echo "Cannot Connect to database ";
}
$stmt = $conn->prepare ("DELETE FROM Teams WHERE $selectName LIKE $selectCity");
$selectName = $_POST['teamnameD'];
$selectCity = $_POST['cityD1'];
$stmt->execute();
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
}
我认为您没有为列表中选定的选项创建正确的cheak。您应该为select指定一个名称
<select>
进入
函数内部也有问题
在声明之前,您正在使用$selectName
和$selectCity
。尝试放置声明
$selectName = $_POST['foo']; //notice the change here!
$selectCity = $_POST['cityD1'];
到这条线之前的地方,在那里你用过它们
$stmt = $conn->prepare ("DELETE FROM Teams WHERE $selectName LIKE $selectCity");
另外,试着换衣服
$stmt = $conn->prepare ("DELETE FROM Teams WHERE $selectName LIKE $selectCity");
到
然后删除这一行
$stmt->execute();
不要忘记,$selectName
和$selectCity
仍然必须在“$sql”之前获取它们的值 谢谢你,我做了那些改变,但仍然无法让它工作。我的sql语句可能有问题吗?我的错误,修复了我的answear,请从头开始阅读并注意我所做的更改,@Wil
$selectName = $_POST['foo']; //notice the change here!
$selectCity = $_POST['cityD1'];
$stmt = $conn->prepare ("DELETE FROM Teams WHERE $selectName LIKE $selectCity");
$stmt = $conn->prepare ("DELETE FROM Teams WHERE $selectName LIKE $selectCity");
$sql = "DELETE FROM Teams WHERE $selectName LIKE $selectCity";
$stmt->execute();