我有点陷入PHP脚本。
该脚本适用于广播电台,需要执行以下操作:
计算广播演示者预订当天的广告位的次数。插槽存储在数据库的表中,我将使用代码date("l")
来确定当前日期,然后搜索“day”设置为date("l")
值的所有行。
然后,我需要找出演示者已经存储了多少小时,存储在具有用户名的行的“users”表中的“monthly_slots”列中。 "SELECT monthly_slots FROM users"
然后,我需要添加演示者今天完成的插槽数量的值,以及monthly_slots列中已存在的插槽数量。
以下是我的代码
$currentday = date("l");
$currentslots = mysql_query("SELECT monthly_slots FROM users");
mysql_query("
UPDATE users
SET slots = (SELECT COUNT(*) + "$currentslots"
FROM timetable
WHERE timetable.username = users.username
AND day = "$currentday"
)
");
谁能看到我哪里出错了?
由于
答案 0 :(得分:1)
获取资源返回的值
$currentday = date("l");
$result = mysql_query("SELECT monthly_slots FROM users");
$currentslots = mysql_fetch_assoc($result);
mysql_query("
UPDATE users
SET slots = (SELECT COUNT(*) + "$currentslots"
FROM timetable
WHERE timetable.username = users.username
AND day = "$currentday"
)
");
答案 1 :(得分:0)
$ currentslots是一个mysql资源而不是数字,使用mysql_num_rows($ currentslots)代替
答案 2 :(得分:0)
//当前日期
$currentday = date("l");
//查找users表中的小时数
$exec_monthlyslots = mysql_query("SELECT monthly_slots FROM users");
$currentslots=mysql_fetch_assoc($exec_monthlyslots);
//而不是计算所有列,请使用您要计算的列ID COUNT(*)
$new_query="UPDATE users
SET slots = (
(
SELECT COUNT(*)
FROM timetable
WHERE timetable.username = users.username
AND day = ".$currentday."
)
+ ".$currentslots['monthly_slots']."
)
";
mysql_query($new_query);
这应该会帮助你。告诉我,如果没有。