php - MySql 查询 - 检查数据是否存在,如果存在则获取 id,如果不存在则添加数据并获取 id

标签 php mysql mysqli

我可以使用 php/mysqli 执行多个步骤。

因此,表格只有两列。
身份证号、姓名

两者都是独一无二的。
我想检查Name是否在数据库中可用,如果可用则获取ID。
如果不可用,请在数据库中添加名称并获取 ID。

我可以使用需要多个sql查询的php/mysql来完成。
有没有一种方法可以仅使用一个 mysql 查询并获取 ID(检查数据库,如果不存在则添加它并获取 ID)?

提前致谢!

我的代码(MySQLi 程序)

function abc($name) {
    global $conn;
    $checkName = mysqli_query($con,"SELECT * FROM category WHERE name=".mysql_real_escape_string($name));
    if (mysqli_num_rows($checkName) > 0) {
        $inputName = mysqli_query($con,"INSERT INTO category (name) VALUES ('".mysql_real_escape_string($name)."')");
        if (!$inputName) { die(mysqli_error($conn)); }
        $checkName2 = mysqli_query($con,"SELECT * FROM category WHERE name=".mysql_real_escape_string($name));
        while($blahblah = mysqli_fetch_assoc($checkName2)) {
            $returnData[] = $blahblah;
        }
    } else {
        while($blahblah = mysqli_fetch_assoc($checkName)) {
            $returnData[] = $blahblah;
        }
    }
    return $blahblah;
}

最佳答案

只需一行即可完成此操作。使用“插入忽略到..”或“替换到......”。 This页面引用。

关于php - MySql 查询 - 检查数据是否存在,如果存在则获取 id,如果不存在则添加数据并获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28249182/

相关文章:

php - 在从数据库获取设置的函数上我遇到了错误

php - 动态表单字段插入

PHP 使用 mysqli 的奇怪行为

php - Mysql select table 依赖另外两张表

php - 如果状态更改为自定义状态,则将自定义元字段值添加到 WooCommerce 订单

php - 在php中生成唯一的注册码

mysql - 如何在 MySQL 中将位转换为字符串?

php - 动态加载选择数百万选项 php mysql

php - Yii2 viaTable 多变量

mysql - 使用 VB.NET 从 MySQL 表中提取特定值