如何解决用php函数从sql数据库中删除
| 我有两个PHP函数。 deletebooking可以正常工作,但另一个则不能。我不确定将它们结合起来是否更好。 我运行此调用函数。但是我也无法运行deletebookingIf函数。谁能看到任何错误?$idnumber = $_GET[\'del\'];
if($_GET[\'del\']) {
deletebookingIf($idnumber);
deletebooking($idnumber);
}
function deletebooking($orderID) {
$sql = \"DELETE FROM bs_reservations
WHERE id = \'\".$orderID.\"\'\";
$result = MysqL_query($sql) or die(\"oopsy,error when tryin to delete events 2\");
}
function deletebookingIf($orderID) {
$sql = \"SELECT DURATION
FROM bs_reservations
WHERE id = \'\".$orderID.\"\'\";
$result = MysqL_query($sql) or die(\"oopsy,error when tryin to delete events 2\");
if ($result != \"One Day Rental\") {
$orderID2 = $orderID - 1;
$qq = \"DELETE FROM bs_reservations
WHERE id = \'\".$orderID2.\"\'\";
$result = MysqL_query($qq) or die(\"oopsy,error when tryin to delete events 2\");
}
}
解决方法
代替
if ($result != \"One Day Rental\") {
你应该有:
if ($result) {
$data = mysql_fetch_assoc($result);
if ($data[\'duration\'] != \'One Day Rental\') {
// rest of the code
$ result包含一组行,而不是字段的内容。如果该ID不是主键,则还应在查询中使用LIMIT 1以确保仅返回一行。您还应该使用mysql_num_rows($ result)来确保您确实有该ID的条目。
祝好运!
,您需要使用mysql_fetch_assoc
(或类似功能)在选择查询中循环$result
,以获取查询中的行。然后,对于每个匹配的行,您可以将该行ID添加到ID的本地数组中,然后通过传递ID的in
子句运行delete
查询,或者在每次迭代中运行delete
查询mysql_fetch_assoc
块。检查http://php.net/mysql_fetch_assoc以获取一些提示。
抱歉,重读此书后我意识到一个示例可能会有所帮助...
while ($row = mysql_fetch_assoc($result)){
if ($row[\'DURATION\'] == \"One Day Rental\"){
#delete the row
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。