$query="SELECT password FROM".$table1." WHERE name=".$username; from 后少空格。
$query="SELECT password FROM".$table1." WHERE name=".$username; $result1=mysql_query("$query");// or die("无法查询正式表"); $db1=mysql_select_db($db_name,$link); $query="select password from $table2 where name=$username"; _______________________________________________________________________ 这一句,你看看: 一般的,我要把这个这样处理: _______________________________________________________________________ $query="select password from".$table1." where name='$username';/*就是这里,注意看了*/
不好意思,上面的写少了一个“"“。 应该是这样的: $query="select password from ".$table1." where name='$username'";
echo一下你的sql看看什么结果 我习惯$query="SELECT password FROM '$table' WHERE name='$username'";
如果数据库连上 就是你的SQL语句问题了 最好先看一下$query 有没有值 并且两次选者不要取同样的名字! $db1=mysql_select_db($db_name,$link); //or die("无法查询member库"); $query="SELECT password FROM".$table1." WHERE name=".$username; $result1=mysql_query("$query");// or die("无法查询正式表"); -------------------------- if ($result1){ echo “能够查询”; } else { echo “查询错误”; }
看看在你的数据库里有没有NOT NULL字段,而且该字段又没有默认值?
这样,只要你在程序里少写了一个字段就可能发生错误。
代码贴出来吧
估计不是连接数据库的问题就是sql语句写错了
if($username=="")
{
$info="请输入会员名";
header("location:login.php?info=$info");
exit();
}
else if($password=="")
{
$info="请输入密码";
header("location:login.php?info=$info");
exit();
}
else
{ $db_host="localhost";
$db_user="root";
$db_password="";
$db_name="member";
$table1="formal";
$table2="temp";
$link=mysql_connect($db_host,$db_user,$db_password)or die("无法连接数据库");
$db1=mysql_select_db($db_name,$link); //or die("无法查询member库");
$query="SELECT password FROM".$table1." WHERE name=".$username;
$result1=mysql_query("$query");// or die("无法查询正式表");
$db1=mysql_select_db($db_name,$link);
$query="select password from $table2 where name=$username";
$result2=mysql_query($query) or die("无法查询临时表");
if($result1)
{
$row=mysql_fetch_array($result1);
$member_password=$row[0];
if($member_password!=$password)
{
$info="密码不正确,请重新输入";
header("location:login.php?info=$info");
exit();
}
else
{
$datasource=$table1;
$info="你是正式会员";
session_start();
session_register('s_username');
session_register('s_datasouce');
session_register('time_last_load');
$s_username=$username;
$s_datasouce=$datasouce;
$time_last_load=time();
header("location:index.php?info=$info");
exit();
}
} //结束 if($result1) 语句块
else
{ if ($result2)
{$row=mysql_fetch_array($result2);
$member_password=$row[0];
if($member_password!=$password)
{
$info="密码不正确,请重新输入";
header("location:login.php?info=$info");
mysql_close($link);
exit();
}
else if($member_password==$password)
{
$datasource=$table2;
$info="你是临时会员";
mysql_close($link);
include("session.inc");
header("location:index.php?info=$info");
exit();
}
}
else{$info="没有这个用户名";
header("location:login.php?info=$info");
mysql_close($link);
exit();}
}
}
?>
from 后少空格。
$result1=mysql_query("$query");// or die("无法查询正式表");
$db1=mysql_select_db($db_name,$link);
$query="select password from $table2 where name=$username";
_______________________________________________________________________
这一句,你看看:
一般的,我要把这个这样处理:
_______________________________________________________________________
$query="select password from".$table1." where name='$username';/*就是这里,注意看了*/
应该是这样的:
$query="select password from ".$table1." where name='$username'";
我习惯$query="SELECT password
FROM '$table'
WHERE name='$username'";
就是你的SQL语句问题了
最好先看一下$query 有没有值
并且两次选者不要取同样的名字!
$db1=mysql_select_db($db_name,$link); //or die("无法查询member库");
$query="SELECT password FROM".$table1." WHERE name=".$username;
$result1=mysql_query("$query");// or die("无法查询正式表");
--------------------------
if ($result1){
echo “能够查询”;
}
else
{
echo “查询错误”;
}