如何检查字符串是否已在SQL db中

时间:2015-02-10 21:53:43

标签: php mysql sql wordpress

我正在创建一个小插件,它为每个帖子提供一个序列号,每个序列号必须是唯一的,我不知道如何检查生成的序列号是否已经在SQL db中。

这是密钥生成器代码:

function generateRandomString($length = 5) {
    $characters = '123456789';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return '#'.$randomString;   
$new_SN = generateRandomString(); }

如何检查$new_SN的值是否已存储在相关的SQL表格单元格中 - 在我的情况下,表格为wp_postmeta,meta_key为serial,meta_value是,函数填充的值

1 个答案:

答案 0 :(得分:0)

为什么要生成唯一的号码?有很多专门为此目的而设计的工具 - 因为你已经提到了MySQL,它支持自动增量整数,PHP支持uuid(uniqid())和几个散列函数(如果你不想使用序列号)。正如developerwjk所说 - 如果您的生成函数完全有效,那么在保存数据之前不应该费心检查 - 只需添加一个唯一索引并在它们无法插入时捕获重复项。