尝试使用行项目匹配 php 变量的 pdo 语句删除行
Trying to delete row using pdo statement where row item matches php variable
我正在尝试接收文本输入并将其存储为变量。然后我使用 PDO 执行一个查询,从 MySQL 数据库中删除一行,该行包含与存储在变量中的文本相匹配的文本。显然这是行不通的。我通常怀疑是我的查询。我也一直在玩弄绑定参数,但那也不起作用。
<?php
if (isset($_POST['gigDate'])){
$gigDate = $_POST['gigDate'];
if (!empty($gigDate)){
require_once("dbconnect.php");
$query = $connect->prepare("DELETE * FROM 'gigs' WHERE 'date'='".$gigDate."'");
$query->execute();
}
else
{
echo "failure";
}
require_once('gui.php');
}
?>
这是我的 html 表格
<h3>Delete a gig by date. (copy and paste gig date)</h3>
<?php include ("gigDelete.php");?>
<form action="gigDelete.php" method="post">
<input type="text" name="gigDate"></input>
<button type="submit" value="Delete" name="Delete">delete gig</button>
</form>
我收到一条错误消息,指出我的错误报告不起作用。哈哈。所以我删除了它。我上周才刚学过 PDO,我不确定它是否适合这个任务。我的经验不足!
这是我第一个 php GUI 的最后一部分。我可以上传到数据库只是花花公子,我在 html table 中显示数据,它也在工作。所以我可以假设我正在连接到数据库。
这样试试:
$query = $connect->prepare("DELETE FROM gigs WHERE date='".$gigDate."'");
顺便说一句,如果您使用的是 PDO,则没有充分的理由对这样的值进行硬编码。
试试这个方法,为什么要为 table 和列名使用额外的 single quotes
?标识符引号字符是反引号(`)
DELETE FROM `gigs` WHERE date='".$gigDate."'
我希望这对你有用:
$query = $connect->prepare("DELETE * FROM 'gigs' WHERE 'date'= :date");
$query->bindParam(':date', $gigDate);
$query->execute();
我正在尝试接收文本输入并将其存储为变量。然后我使用 PDO 执行一个查询,从 MySQL 数据库中删除一行,该行包含与存储在变量中的文本相匹配的文本。显然这是行不通的。我通常怀疑是我的查询。我也一直在玩弄绑定参数,但那也不起作用。
<?php
if (isset($_POST['gigDate'])){
$gigDate = $_POST['gigDate'];
if (!empty($gigDate)){
require_once("dbconnect.php");
$query = $connect->prepare("DELETE * FROM 'gigs' WHERE 'date'='".$gigDate."'");
$query->execute();
}
else
{
echo "failure";
}
require_once('gui.php');
}
?>
这是我的 html 表格
<h3>Delete a gig by date. (copy and paste gig date)</h3>
<?php include ("gigDelete.php");?>
<form action="gigDelete.php" method="post">
<input type="text" name="gigDate"></input>
<button type="submit" value="Delete" name="Delete">delete gig</button>
</form>
我收到一条错误消息,指出我的错误报告不起作用。哈哈。所以我删除了它。我上周才刚学过 PDO,我不确定它是否适合这个任务。我的经验不足!
这是我第一个 php GUI 的最后一部分。我可以上传到数据库只是花花公子,我在 html table 中显示数据,它也在工作。所以我可以假设我正在连接到数据库。
这样试试:
$query = $connect->prepare("DELETE FROM gigs WHERE date='".$gigDate."'");
顺便说一句,如果您使用的是 PDO,则没有充分的理由对这样的值进行硬编码。
试试这个方法,为什么要为 table 和列名使用额外的 single quotes
?标识符引号字符是反引号(`)
DELETE FROM `gigs` WHERE date='".$gigDate."'
我希望这对你有用:
$query = $connect->prepare("DELETE * FROM 'gigs' WHERE 'date'= :date");
$query->bindParam(':date', $gigDate);
$query->execute();