php - MySQL 如果没有记录则添加记录

标签 php mysql

我有一个表,用于存储有关用户每月事件的信息。 表格如下:

+-------------------------------------------+
|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/

相关文章:

php - fatal error : Cannot re-assign auto-global variable _POST in kohana 3. 2

php - PHP 中的 Unicode (UTF8) 字符串字数统计

php - Symfony 4.3 : User Deprecated: The Symfony\Bundle\TwigBundle\Loader\FilesystemLoader class is deprecated since version 4. 3 并将在 5.0 中删除...

mysql - 如何在 Windows 7 中安装 MyODBC?

php - mysql对addslashes()的使用

MySQL 记录被修改?

PHP:cURL 会在后台完成,还是会阻止所有进一步的脚本执行?

php - 使用 CodeIgniter 验证后使用 POST 数据

php - 什么更快,选择多行或多列?

php - 如何打印所有的mysql行