登录
需要建一个表,其中有个人的账号密码,某人通过账号密码登录后,页面显示个人信息
//login.html<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>登录</title></head><body><div class=\".box\" align=\"center\"><form action=\"dologin.php\" method=\"post\"><table><h2>登录</h2><tr><th>账号:</th><th><input type=\"text\" name=\"id\"></th></tr><tr><th>密码:</th><th><input type=\"password\" name=\"password\"></th></tr><tr><th><button type=\"submit\">提交</button></th><th><button type=\"reset\">重新填写</button></th></tr></table></form></div></body></html>
//dologin.php<?phpheader(\'Content-Type: text/html; charset=utf-8\');require \'./publicfunction.php\';$conn = dbInit();// if( $conn === false){// echo \'flase\';// }else{// echo \'success conn\';// }$id = $_POST[\'id\'];$pwd = $_POST[\'password\'];// echo $id;// echo $pwd;// die;if($id && $pwd){$sql = \"select id,name,FROM_UNIXTIME(birthday,\'%Y-%m-%d\') as birthday ,sex from em where id = {$id} and password = {$pwd}\";$arr = fetchOne($conn,$sql);// var_dump($arr);}else{echo \'账号不存在或密码错误\';}?><!DOCTYPE html><html><head><meta charset=\"utf-8\"><title>个人账户信息</title></head><body><div align=\"center\"><h3>登录成功,以下是你的个人信息</h3><table><tr><h2>个人账户信息</h2></tr><tr><th>账号:</th><th><input type=\"text\" name=\"id\" value=\"<?php echo $arr[\'id\']?>\"></th></tr><tr><th>姓名:</th><th><input type=\"text\" name=\"name\" value=\"<?php echo $arr[\'name\']?>\"></th></tr><tr><th>生日:</th><th><input type=\"text\" name=\"birthday\" value=\"<?php echo $arr[\'birthday\']?>\"></th></tr><tr><th>性别:</th><th><input type=\"text\" name=\"department\" value=\"<?php echo $arr[\'sex\']?>\"></th></tr><tr></tr></table></div></body></html>
模糊查询
表单页面写一个搜索框,提交至search.php页面
获得值后,通过sql语句like进行查询
显示到页面上
需要注意的是:因为模糊查询出现的结果是大于等于一个的,这是需要用到循环来在页面显示
在下面的代码中,我附上了两种循环方式
//search.php<?phpheader(\'Content-Type: text/html; charset=utf-8\');require \'./publicfunction.php\';$conn = dbInit();$search = $_POST[\'search\'];$sql_sear = \" select id,name,FROM_UNIXTIME(birthday,\'%Y-%m-%d\') as birthday ,department,FROM_UNIXTIME(entry_time,\'%Y-%m-%d\') as entry_time from workinfo where name like \'%$search%\' or department like \'%{$_POST[\'search\']}%\'\" ;$res = $conn->query($sql_sear);while ($tmp=$res->fetch_assoc()) {$data[]=$tmp;}?><html><head><title>搜索框查询结果</title></head><body><!-- <?php for ($i=0;$i<count($data);$i++) { ?><table><tr><th>姓名:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $data[$i][\'name\'] ?>\"></th></tr><tr><th>部门:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $data[$i][\'department\'] ?>\"></th></tr><tr><th>生日:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $data[$i][\'birthday\'] ?>\"></th></tr><tr><th>入职日期:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $data[$i][\'entry_time\'] ?>\"></th></tr><tr></tr> <tr></tr></table><?php } ?> --><?php foreach($data as $row){ ?><table><tr><th>姓名:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $row[\'name\'] ?>\"></th></tr><tr><th>部门:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $row[\'department\'] ?>\"></th></tr><tr><th>生日:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $row[\'birthday\'] ?>\"></th></tr><tr><th>入职日期:</th><th><input type=\"text\" name=\"\" value=\"<?php echo $row[\'entry_time\'] ?>\"></th></tr><tr></tr><tr></tr></table><?php } ?></body></html>
在搜索框中搜崔,点击搜索,出现所有姓名中带有崔字的人
SQL语句报错解决方法
当查询不到或者结果不正确时,可以 echo $sql;
然后将语句复制粘贴到数据库中执行
若当前语句能执行成功,说明出错原因不在SQL语句
若不能执行成功,数据库中会显示报错原因,从而改正
雪碧可乐_2020/6/21_10:36