Rumah >pembangunan bahagian belakang >tutorial php >php连接数据库,该如何解决
php连接数据库
/**************denglu.php****************/
session_start();
$username=$_POST['username'];
$password=$_POST['password'];
@ $db = mysql_connect('localhost','root','root'); //连接数据库
if (!$db) {
die('Could not connect: ' . mysql_error());
}
//echo '连接成功!';
mysql_select_db('wwj'); //选择数据库文件wwj
//执行SQL 语句
mysql_query("set names utf8");//数据库中是utf8 ,没有“-”.网页中有!!
$sql="select * from pre_common_member where username=$username";
$res=mysql_query($sql);
if($row=mysql_fetch_assoc($res)){
if($row['password']==md5($password)){
$name=$row['username'];
echo"<script>alert('登陆成功!')</script>";
session_register('$name');
header('Location:ClassWeb.php');exit();
}
}
echo"<script>alert('用户名或密码错误!')</script>";
header('Location:ClassWeb.php');exit();
mysql_free_result($res);
?>
我输入的账号的密码是对的,但是提示信息是乱码,我也不知道是登陆成功还是错误,提示窗口出现后,我点击确定,第二个警告错误才出现!!!!错误:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in F:\Apache HTTP Server\AppServ\www\ClassWeb\denglu.php on line 15
Warning: Cannot modify header information - headers already sent by (output started at F:\Apache HTTP Server\AppServ\www\ClassWeb\denglu.php:15) in F:\Apache HTTP Server\AppServ\www\ClassWeb\denglu.php on line 24
------解决思路----------------------
$sql="select * from pre_common_member where username='$username'";
------解决思路----------------------
弹窗乱码是因为你的程序文件不是 utf-8 的
错误信息是因为你在
header('Location:ClassWeb.php');
前有输出
echo"<script>alert('用户名或密码错误!')</script>";
------解决思路----------------------
php连接数据库显示示例
//数据库连接conn.php页面
$conn=mysql_connect("localhost","root","root"); //连接数据库服务器
mysql_select_db("db_forumm",$conn); //连接指定的数据库
mysql_query("set names gb2312"); //对数据库中的编码格式进行转换,避免出现中文乱码的问题
?>
//功能页面显示数据
$tb_forum_name=$_SESSION["tb_forum_name"];//记录用户名
if($tb_forum_name==""){
echo "<script>alert('您还没有登录!');window.location.href='index.php';</script>";//登录控制
exit;
}//codego.net/tags/4/1/
$sql=mysql_query("select * from tb_forum_user where tb_forum_name='".$tb_forum_name."'",$conn);
$info=mysql_fetch_array($sql);//选择数据库数据
?>