我有一个表,用于存储有关用户每月事件的信息。 表格如下:
+-------------------------------------------+
|user_id | month | year | value1 | value2 |
+-------------------------------------------+
|1 | 10 | 15 | 45 | 78 |
+-------------------------------------------+
假设我有 3 个用户,ID 分别为 1、2 和 3。
我想做的是: 当我提交请求以显示给定月份和年份的表中的记录时,显示上面的结果+如果用户没有记录,则为给定月份和年份创建值设置为“0”的记录。它会显示这个:
+-------------------------------------------+
|user_id | month | year | value1 | value2 |
+-------------------------------------------+
|1 | 10 | 15 | 45 | 78 |
|2 | 10 | 15 | 0 | 0 |
|3 | 10 | 15 | 0 | 0 |
+-------------------------------------------+
我设法按用户 ID 对其进行硬编码,但我无法自动执行以下操作:对于 ACTIVITIES 中不存在的每个用户,其中月 = $月和年 = $年插入 (user_id ,月,年,0,0)。
这就是我得到的:
$result = mysqli_query($conn,"
SELECT
* FROM ACTIVITIES
WHERE
person_id = '2'
AND month = '$month'
AND year = '$year'
");
if(mysqli_affected_rows($conn) > 0)
{
}
else
{
mysqli_query($conn,"
INSERT INTO ACTIVITIES
(person_id, month, year, value1, value2)
VALUES
('2', $mois, $annee, '0', '0')");
}
感谢您的帮助。 某人
最佳答案
尝试使用mysqli_num_rows()
if(mysqli_num_rows($result) > 0){
} else {
//insert here
}
关于php - MySQL 如果没有记录则添加记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33802242/