gpt4 book ai didi

php - 使用 IF-ELSE php MYSQL 插入或更新

转载 作者:行者123 更新时间:2023-11-29 14:30:33 25 4
gpt4 key购买 nike

DONOR
donor-nic----username-----status
111----------ali----------available
222---------usman--------notavailable

另一个是

DONATION
donation_id------donor_nic-----date---
1----------------111----------2012/03/04
2---------------111-----------2012/06/07
3----------------111---------2012/07/08
4----------------222---------2012/03/03

现在我想更新日期(如果它已经退出对应于donor_nic)如果日期不存在,我想插入新日期。

我正在使用此查询根据相应的donor_nic获取所有日期

SELECT donor.donor_nic, donation.lastdonationdate
FROM donor
JOIN donation ON donor.donor_nic = donation.donor_nic
WHERE username = 'ali'
GROUP BY donation.lastdonationdate

现在这个查询可以在 phpmyadmin 中运行..但是当我在我的页面中使用它时..它与日期不匹配..我正在匹配这样的日期

   $sql= SELECT donor.donor_nic, donation.lastdonationdate
FROM donor
JOIN donation ON donor.donor_nic = donation.donor_nic
WHERE username = 'ali'
GROUP BY donation.lastdonationdate

$res=mysql_query($sql, $con);

if($res == $date)
{
echo "update";
}
else
{
echo "insert";
}

但这件事不起作用..可能是我在条件(if-else)语句中犯了错误..请帮助我我应该做什么..提前致谢

最佳答案

问题是您的 $res 变量是结果集对象,而不是字符串或日期值。另外你在哪里定义$date

如果您想从查询中获取单独的结果,请使用:

$res=mysql_result(mysql_query($sql, $con),0,1);

这将返回结果第一行的第二列(这就是 ,0,1 定义为 mysql_result 函数的参数),我认为是您要寻找的日期。

检查 mysql_result 的文档:http://php.net/manual/en/function.mysql-result.php

mysql_query 始终返回一个数组,而不是特定值。假设您的 $date 变量的格式正确,上述内容应该有效。

编辑

您还需要更改定义 $SQL 的方式,在其周围加上引号,如下所示:

$sql= "SELECT donor.donor_nic, donation.lastdonationdate
FROM donor
JOIN donation ON donor.donor_nic = donation.donor_nic
WHERE username = 'ali'
GROUP BY donation.lastdonationdate";

关于php - 使用 IF-ELSE php MYSQL 插入或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107314/

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