以下是我要做的事情:当用户将联系人添加到他的列表中时,此联系人的数量将通过数据库中的数字运行,如果用户已在数据库中,则会提供反馈。现在我总是回到“用户在数据库中”,即使他不是。然后我再也不熟悉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);
?>
答案 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);
?>