将数据库字符串值与新的字符串值进行比较

时间:2012-02-27 10:48:12

标签: php database compare contacts

以下是我要做的事情:当用户将联系人添加到他的列表中时,此联系人的数量将通过数据库中的数字运行,如果用户已在数据库中,则会提供反馈。现在我总是回到“用户在数据库中”,即使他不是。然后我再也不熟悉php了。我再次更改了代码,现在它根本不起作用,因为它不喜欢部分

$number = ($_GET["number"] from $DB_Table);

完整代码

<?php
$DB_HostName = "localhost";
$DB_Name = "db";
$DB_User = "user";
$DB_Pass = "pw";
$DB_Table = "contacts";

$number = ($_GET["number"] from $DB_Table);

$fnumber = ($_GET["fnumber"]);

if ($number == $fnumber) {
    echo "This user is already in database";
} else {
echo "This user isn't in the database"; 
}

$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die    (mysql_error()); 
mysql_select_db($DB_Name,$con) or die(mysql_error()); 

mysql_close($con);
?>

2 个答案:

答案 0 :(得分:1)

这不是有效的PHP代码:$number = ($_GET["number"] from $DB_Table);

$_GET["number"]表示您在网页网址中找到的“number”参数的值。

示例:http://example.com/index.php?number=7所以$_GET["number"]为7。

在您的代码中,$DB_Table只是一个字符串(“contact”),而“from”不适合使用php语法。

mysql_select_db($DB_Name,$con) or die(mysql_error()); 

是有效的PHP,但您没有对从数据库获得的内容做任何事情。我建议你至少看一下这个教程php mysql select

答案 1 :(得分:1)

我实际上并没有看到您执行数据库查询。你可以这样做:

<?php

    $DB_HostName = "localhost";
    $DB_Name = "db";
    $DB_User = "user";
    $DB_Pass = "pw";
    $DB_Table = "contacts";

    $con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die (mysql_error()); 
    mysql_select_db($DB_Name,$con) or die(mysql_error()); 

    $fnumber = mysql_real_escape_string($_GET["fnumber"]);

    $result = mysql_query("SELECT * FROM $DB_Table WHERE Something = '$fnumber'", $con);

    if ($result) {
        // Check the number of rows in the result set
        if (mysql_num_rows($result) > 0) {
            echo "This user is already in database";
        }

        else echo "This user isn't in the database";
    }

    mysql_close($con);

?>