gpt4 book ai didi

PHP MYSQL 防止基于某些列的重复

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

例如,我有一张 table :

ID FName   LName  Street     Number Phone   Note
1 John Smith 6th Ave 17 6465165 some random text
2 Peter Murphy Barker Ave 22 6545213 some random text
3 Michael Adams Centre St 34 5451351 some random text

如何防止重复输入住在 6th Ave 17 的 John Smith,但允许一些住在 Devoe Ave 的 John Smith?

我有更多的列,但我想仅根据 FName、LName、Street 和 Number 来防止重复...

最佳答案

在 FName、LName、Street 和 Number 上创建唯一索引...这将使插入重复项的插入语句失败,然后您可以捕获代码中的异常并在发生这种情况时执行某些操作。我更新了我的答案以包含 PDO 示例:

<?php
$dbhost = "localhost";
$dbname = "pdo";
$dbusername = "root";
$dbpassword = "your password";

$link = new PDO("mysql:host=$dbhost;dbname=$dbname","$dbusername","$dbpassword");

$statement = $link->prepare("INSERT INTO testtable(fname, lname, street, number)
VALUES(:fname, :lname, :street, :number)");

try {
$statement->execute(
array(
'fname' => 'John',
'lname' => 'Smith',
'street' => '6th Ave',
'number' => '17',
)
);
} catch (PDOException $e) {
if ($e->errorInfo[1] == 1062) {
// duplicate entry
} else {
//other error
}
}

关于PHP MYSQL 防止基于某些列的重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42391514/

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