Php 比较数据库stringvalue与新stringvalue
以下是我试图做的:当用户将联系人添加到他的列表中时,该联系人的号码将与数据库中的号码一起运行,如果用户已经在数据库中或不在数据库中,它将提供反馈。现在,我总是返回“用户在数据库中”,即使他不是。再说一遍,我对php不是很熟悉。我又对代码做了一点修改,现在根本不起作用,因为它不喜欢这个部分Php 比较数据库stringvalue与新stringvalue,php,database,compare,contacts,Php,Database,Compare,Contacts,以下是我试图做的:当用户将联系人添加到他的列表中时,该联系人的号码将与数据库中的号码一起运行,如果用户已经在数据库中或不在数据库中,它将提供反馈。现在,我总是返回“用户在数据库中”,即使他不是。再说一遍,我对php不是很熟悉。我又对代码做了一点修改,现在根本不起作用,因为它不喜欢这个部分 $number = ($_GET["number"] from $DB_Table); 完整代码 <?php $DB_HostName = "localhost"; $DB_Name = "db"; $
$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);
?>
这是无效的PHP代码:$number=($\u从$DB\u表中获取[“number”])代码>
$\u GET[“number”]
表示在页面url中找到的“number
”参数的值
示例:http://example.com/index.php?number=7
所以$\u GET[“number”]
是7
在您的代码中,$DB_Table
只是一个字符串(contact
”),使用php语法时,“from
”不适用于此
mysql_select_db($DB_Name,$con) or die(mysql_error());
是有效的PHP,但您没有使用从数据库中获得的内容执行任何操作。我建议您至少看一下本教程我实际上没有看到您执行数据库查询。你可以这样做:
<?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);
?>
您不认为在连接到数据库之前也执行了错误的查询吗?非常感谢您的代码,但奇怪的是,它给出了以下错误警告:mysql\u real\u escape\u string()[function.mysql real escape string]:无法在第9行的/myserver/usercheck.php中建立到服务器的链接-第9行是$fnumber=mysql\u real\u escape\u字符串($\u GET[“fnumber”]);如果没有它,连接会起作用,但会破坏整个目的。我很抱歉,这是我的错误。您需要将该行移到数据库连接初始化位置下方。我已经在上面的代码中更正了这一点。