Сравнение строкового значения базы данных с новым строковым значением - PullRequest
0 голосов
/ 27 февраля 2012

Вот что я пытаюсь сделать: когда пользователь добавляет контакт в свой список, номер этого контакта определяется номерами в базе данных и дает обратную связь, если пользователь уже находится в базе данных или нет , Прямо сейчас я всегда возвращаюсь "Пользователь в базе данных", хотя он не. С другой стороны, я не очень хорошо знаком с 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 ]

1 голос
/ 27 февраля 2012

На самом деле я не вижу, чтобы вы выполняли запрос к базе данных. Вы могли бы сделать что-то вроде этого:

<?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);

?>
1 голос
/ 27 февраля 2012

Это недействительный код PHP: $number = ($_GET["number"] from $DB_Table);

$_GET["number"] представляет значение параметра "number", которое вы найдете в URL вашей страницы.

Пример: 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

...