Php 检查数据库中是否已存在产品密钥?

Php 检查数据库中是否已存在产品密钥?,php,html,database,Php,Html,Database,我对一段代码有问题。我有一个表单可以将信息提交到MySQL数据库。我已经在数据库中保存了产品密钥。我想检查数据库中是否存在密钥。我正在使用以下代码: $namecheck = mysql_query("SELECT key FROM license_key WHERE key ='$userEnteredProductKey'"); $count = mysql_num_rows($namecheck); if($count) {

我对一段代码有问题。我有一个表单可以将信息提交到MySQL数据库。我已经在数据库中保存了产品密钥。我想检查数据库中是否存在密钥。我正在使用以下代码:

    $namecheck = mysql_query("SELECT key FROM license_key WHERE key ='$userEnteredProductKey'");
    $count = mysql_num_rows($namecheck);        
    if($count)
        {
            die("FAILURE - <b>$product_name</b> has <b>NOT</b> been added because the reference number already exists.");
        }
希望这是有意义的,非常感谢您的帮助。

试试这个:

$namecheck = mysql_query("SELECT `key` FROM license_key WHERE `key` ='$userEnteredProductKey'");
key
在mysql中是一个保留的关键字,所以最好不要使用它或将它包装在另一侧`

参考:

不使用此选项 若有($count) 试试这个, 如果($count==1)

像这样使用

$namecheck = mysql_query("SELECT `key` FROM license_key WHERE `key` ='".$userEnteredProductKey."'");

这意味着您的查询不返回任何内容。检查查询。可能存在重复的查询,因此我必须使用哪个查询?您的查询中缺少某些内容。选中$userEnteredProductKey以保留任何值。或者打印您正在使用且应该使用的查询和检查。您可能(我们看不到$userEnteredProductKey来自何处)容易受到现代API的攻击,因为它会使您更容易使用。
$namecheck = mysql_query("SELECT `key` FROM license_key WHERE `key` ='".$userEnteredProductKey."'");