我想做以下操作:检查用户是否已经在第二个表中。如果用户是,我会返回回显:"用户在数据库中",并且当用户在或不在数据库中时,它还应该向表中添加一个值。到目前为止,它似乎做了正确的事情,但没有改变用户旁边的值。
<?php
$DB_HostName = "localhost";
$DB_Name = "db";
$DB_User = "user";
$DB_Pass = "pw";
$DB_Table = "connection";
$DB_Table2 = "contacts";
$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die (mysql_error());
mysql_select_db($DB_Name,$con) or die(mysql_error());
$query = "SELECT User FROM $DB_Table left join $DB_Table2 on User = Number";
if ($result) {
if (mysql_num_rows($result) > 0) {
echo "This user is already in database";
mysql_query("INSERT INTO $DB_Table2 (Answer)
VALUES ('http://myserver/thumbsup.png')");
}
else {
echo "This user isn't in the database";
mysql_query("INSERT INTO $DB_Table2 (Answer)
VALUES ('http://myserver/thumbsdown.png')");
}
}
mysql_close($con);
?>
查看代码时,很难看出您在这里要做什么。无论如何,我确实认为您需要检查表中的哪个用户。
$query = "SELECT User FROM $table_id left join $table_id2 on User = Number";
应该更像
$query = "SELECT User FROM $DB_Table left join $DB_Table2 on User = Number where $DB_Table.User = " . $_SESSION['userid'];
如果您以某种方式对用户进行了身份验证,并且用户id号位于名为"userid"的会话变量中。您显然没有仔细考虑这一点,因为您正在向第二个表添加链接,其中每隔一个键都有默认值。