对php的一些小白的问题(捂脸) $error = array(); //保存错误信息 这里的错误信息是一个自己定义的变量吗?这里是保存到叫做array的数组里吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我果然是什么都不懂的渣渣。定义一个名为error的数组,以方便后面将错误信息复制进去 你这里只是定义了一个$error 的变量,并且赋值为空数组 好吧,是我函数没打对。mysqli_query($link,'set names utf8');mysqli_query($link,'use php') or die('php数据库不存在!'); 看前台错误提示,然后在PHP里遍历一遍文件能找到错误的提示在哪个语句 <?phpheader('content-type:text/html;charset=utf-8');//获取数据库连接并选择数据库$link = mysqli_connect('localhost','user','password','php');//判断数据库连接是否成功,如果不成功则显示错误信息并终止脚本继续执行if(!$link){ die('连接数据库失败!'.mysqli_connect_error());}else { echo '成功!';}mysqli_query($link,'set names utf8');//准备SQL语句$sql = 'select * from emp_info';$result = mysqli_query($sql, $link);//定义员工数组,用以保存员工信息,执行SQL语句,获取结果集//$emp_info = fetchAll($sql);$emp_info=array();while ($row = mysqli_fetch_assoc($result)){ $emp_info[] = $row;}//设置常量,用以判断视图页面是否由此页面加载echo '成功!';define('APP', 'php');//加载视图页面,显示数据require './list_htmll.php';?>连接数据库成功但是没有获取数据库表格中的信息怎么办? $result = mysqli_query($sql, $link);这里 $result = mysqli_query($sql, $link);这里是我符号打少了吗? $result = mysqli_query($sql, $link);这里是我符号打少了吗?参数写反了 <?php/** * 初始化数据库连接 */function dbInit(){ $link = mysqli_connect('localhost','root','root','php'); //判断数据库连接是否成功,如果不成功则显示错误信息并终止脚本继续执行 if(!$link){ die('连接数据库失败!'.mysqli_error()); } //设置字符集,选择数据库 mysqli_query('set names utf8',$link); mysqli_query('use php',$link);}/** * 执行SQL的方法 * @param string $sql 待执行的SQL * @return mixed 失败返回false,成功,如果是查询语句返回结果集,如果非查询类返回true */function query($sql) { $link = mysqli_connect('localhost','root','root','php'); if ($result = mysqli_query($sql,$link)) { //括号内的参数写反了 //执行成功 return $result; } else { //设定失败 echo 'SQL执行失败:<br>'; echo '错误的SQL为:', $sql, '<br>'; echo '错误的代码为:', mysqli_errno(), '<br>'; echo '错误的信息为:', mysqli_error(), '<br>'; die; }}/** * 处理结果集中有多条数据的方法 * @param string $sql 待执行的SQL * @return array 返回遍历结果集后的二维数组 */function fetchAll($sql) { $link = mysqli_connect('localhost','root','root','php'); //执行query()函数 if ($result = query($sql,$link)) { //执行成功 //遍历结果集 $rows = array(); while( $row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $rows[] = $row; } //释放结果集资源 mysqli_free_result($result); return $rows; } else { //执行失败 return false; }}/** * 处理结果集中只有一条数据的方法 * @param string $sql 待执行的SQL语句 * @return array 返回结果集处理后的一维数组 */function fetchRow($sql) { $link = mysqli_connect('localhost','root','root','php'); //执行query()函数 if ($result = query($sql,$link)) { //从结果集取得一次数据即可 $row = mysqli_fetch_array($result, MYSQLI_ASSOC); return $row; } else { return false; }}/** * 对数据进行安全处理 * @param string $data 待转义字符串 * @return string 转义后的字符串 */function safeHandle($data){ //转义字符串中的HTML标签 $data = htmlspecialchars($data); //转义字符串中的特殊字符 $data = mysqli_real_escape_string($data); return $data;}我搜索了一下mysqli_query($sql,$link);的参数都是这样写的,但是按照楼上说的在另外一个程序把参数的顺序给调换过来确实是能连接上了。 <?php//声明文件解析的编码格式header('content-type:text/html;charset=utf-8');require './public_function.php';//初始化数据库dbInit();//准备SQL语句$sql = 'select * from emp_info';//定义员工数组,用以保存员工信息,执行SQL语句,获取结果集//$emp_info = fetchAll($sql);$emp_info=array();while ($row = mysqli_fetch_assoc($result)){ $emp_info[] = $row;}//设置常量,用以判断视图页面是否由此页面加载define('APP', 'php');//加载视图页面,显示数据require './list_html.php'; $res=array();$res['a']='124235';echo json_encode($res); login.php<?phpheader('Content-Type:text/html;charset=utf-8');$error = array(); //保存错误信息//当有表单提交时if(!empty($_POST)){ //接收用户登录表单 $username = isset($_POST['username']) ? trim($_POST['username']) : ''; $password = isset($_POST['password']) ? $_POST['password'] : ''; //载入表单验证函数库,验证用户名和密码格式// require 'check_form.lib.php';// if(($result = checkUsername($username)) !== true) $error[] = $result;// if(($result = checkPassword($password)) !== true) $error[] = $result; //表单验证通过,再到数据库中验证 if(empty($error)){ $link = mysqli_connect('localhost','root','root','php'); //判断数据库连接是否成功,如果不成功则显示错误信息并终止脚本继续执行 if(!$link) { die('连接数据库失败!'.mysqli_connect_error()); } mysqli_query($link,'set names utf8'); // echo'连接成功!'; //SQL转义 $username = mysqli_real_escape_string($link,$username); //根据用户名取出用户信息 $sql = "select id,password from user where username='$username'"; if($rst = mysqli_query($link,$sql)){ //执行SQL,获得结果集 $row = mysqli_fetch_assoc($rst); //处理结果集 //计算密码的MD5 $password = md5($password); //判断密码是否正确 if($password == $row['password']){ //欢迎登录! //登录成功,保存用户会话 session_start(); $_SESSION['userinfo'] = array( 'id' => $row['id'], //将用户id保存到SESSION 'username' => $username //将用户名保存到SESSION ); //登录成功,跳转到会员中心// header('Location: index.php'); require './user.php'; //终止脚本继续执行 die; } } $error[] = '用户名不存在或密码错误。'; }}//加载HTML模板文件define('APP','php');require 'login_html.php';login_html.php<?php if(!defined('APP')) die('error!'); ?><!doctype html><html><head><meta charset="utf-8"><title>欢迎登录</title><style>body{background-color:#eee;margin:0;padding:0;}#container {margin: 0 auto; width:500px;}.reg{width:400px;margin:15px;padding:20px;border:1px solid #ccc;background-color:#fff;}.reg .title{text-align:center;padding-bottom:10px;}.reg th{font-weight:normal;text-align:right;}.reg input{width:180px;border:1px solid #ccc;height:20px;padding-left:4px;}.reg .button{background-color:#0099ff;border:1px solid #0099ff;color:#fff;width:80px;height:25px;margin:0 5px;cursor:pointer;}.reg .td-btn{text-align:center;padding-top:10px;}.error-box{width:378px;margin:15px;padding:10px;background:#FFF0F2;border:1px dotted #ff0099;font-size:14px;color:#ff0000;}.error-box ul{margin:10px;padding-left:25px;}</style></head><body><form method="post"><table class="reg"> <tr><td class="title" colspan="2">欢迎登录</td></tr> <tr><th>用户名:</th><td><input type="text" name="username" /></td></tr> <tr><th>密码:</th><td><input type="password" name="password" /></td></tr> <tr><td colspan="2" class="td-btn"> <input type="submit" value="登录" class="button" /> <input type="reset" value="重新填写" class="button" /> </td></tr></table></form><?php if(!empty($error)): ?> <div class="error-box">登录失败,错误信息如下: <ul><?php foreach($error as $v) echo "<li>$v</li>"; ?></ul> </div><?php endIf; ?></body></html>user.php<?phpheader('Content-Type:text/html;charset=utf-8');//启动SESSIONsession_start();//用户退出if(isset($_GET['action']) && $_GET['action']=='logout'){ //清除SESSION数据 unset($_SESSION['userinfo']); //如果SESSION中没有其他数据,则销毁SESSION if(empty($_SESSION)){ session_destroy(); } //跳转到登录页面 header('Location: login.php'); //终止脚本 die;}//判断SESSION中是否存在用户信息if(isset($_SESSION['userinfo'])){ //用户信息存在,说明用户已经登录 $login = true; //保存用户登录状态 $userinfo = $_SESSION['userinfo']; //获取用户信息}else{ //用户信息不存在,说明用户没有登录 $login = false;}//加载HTML模板文件define('APP','php');require 'user_html.php';user_html.php<?php if(!defined('APP')) die('error!'); ?><!doctype html><html><head><meta charset="utf-8"><title>会员中心</title><style>body{background-color:#eee;margin:0;padding:0;}.box{width:400px;margin:15px;padding:20px;border:1px solid #ccc;background-color:#fff;}.error-box{text-align:center;margin:15px;padding:10px;background:#FFF0F2;border:1px dotted #ff0099;font-size:14px;color:#ff0000;}.error-box a{color:#0066ff;}.box .title{font-size:20px;text-align:center;margin-bottom:20px;}.box .welcome{text-align:center;}.box .welcome a{color:#0066ff;}.box .welcome span{color:#ff0000;}</style></head><body><div class="box"> <div class="title">会员中心</div> <?php if($login): ?> <div class="welcome">“<span><?php echo $userinfo['username']; ?></span>”您好,欢迎来到会员中心。<a href="?action=logout">退出</a></div> <!-- 此处编写会员中心其他内容 --> <?php else: ?> <div class="error-box">您还未登录,请先 <a href="login.php">登录</a> 或 <a href="register.php">注册新用户</a> 。</div> <?php endIf; ?></div></body></html>user.php无法保存登录状态,可咋办 为什么json_decode读不了这种格式 PHP 购物车问题, 页面怎么出错? php中建mysql数据库 请问如何把PHP的二维数组赋值给JS变量 怎么样做按钮将表单里的内容保存为Excel文件 论坛如何灌水? 如何解决&问题???在线等待 不知道为什么不好用。 如何让类型为text中的内容分段显示出来? php播放视频 php使用mysqli调用存储过程,返回结果集 和 返回值 求解一个thinkphp5.1中的两个函数传值问题
mysqli_query($link,'set names utf8');
mysqli_query($link,'use php') or die('php数据库不存在!');
header('content-type:text/html;charset=utf-8');
//获取数据库连接并选择数据库$link = mysqli_connect('localhost','user','password','php');
//判断数据库连接是否成功,如果不成功则显示错误信息并终止脚本继续执行
if(!$link)
{
die('连接数据库失败!'.mysqli_connect_error());
}
else {
echo '成功!';
}
mysqli_query($link,'set names utf8');//准备SQL语句
$sql = 'select * from emp_info';
$result = mysqli_query($sql, $link);
//定义员工数组,用以保存员工信息,执行SQL语句,获取结果集//$emp_info = fetchAll($sql);$emp_info=array();
while ($row = mysqli_fetch_assoc($result)){
$emp_info[] = $row;
}
//设置常量,用以判断视图页面是否由此页面加载
echo '成功!';
define('APP', 'php');
//加载视图页面,显示数据
require './list_htmll.php';
?>
连接数据库成功但是没有获取数据库表格中的信息怎么办?
$result = mysqli_query($sql, $link);这里
$result = mysqli_query($sql, $link);这里
是我符号打少了吗?
$result = mysqli_query($sql, $link);这里
是我符号打少了吗?参数写反了
/**
* 初始化数据库连接
*/
function dbInit(){
$link = mysqli_connect('localhost','root','root','php');
//判断数据库连接是否成功,如果不成功则显示错误信息并终止脚本继续执行
if(!$link){
die('连接数据库失败!'.mysqli_error());
}
//设置字符集,选择数据库
mysqli_query('set names utf8',$link);
mysqli_query('use php',$link);
}/**
* 执行SQL的方法
* @param string $sql 待执行的SQL
* @return mixed 失败返回false,成功,如果是查询语句返回结果集,如果非查询类返回true
*/
function query($sql) {
$link = mysqli_connect('localhost','root','root','php');
if ($result = mysqli_query($sql,$link)) { //括号内的参数写反了
//执行成功
return $result;
} else {
//设定失败
echo 'SQL执行失败:<br>';
echo '错误的SQL为:', $sql, '<br>';
echo '错误的代码为:', mysqli_errno(), '<br>';
echo '错误的信息为:', mysqli_error(), '<br>';
die;
}
}/**
* 处理结果集中有多条数据的方法
* @param string $sql 待执行的SQL
* @return array 返回遍历结果集后的二维数组
*/
function fetchAll($sql) {
$link = mysqli_connect('localhost','root','root','php');
//执行query()函数
if ($result = query($sql,$link)) {
//执行成功
//遍历结果集
$rows = array();
while( $row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = $row;
}
//释放结果集资源
mysqli_free_result($result);
return $rows;
} else {
//执行失败
return false;
}
}/**
* 处理结果集中只有一条数据的方法
* @param string $sql 待执行的SQL语句
* @return array 返回结果集处理后的一维数组
*/
function fetchRow($sql) {
$link = mysqli_connect('localhost','root','root','php');
//执行query()函数
if ($result = query($sql,$link)) {
//从结果集取得一次数据即可
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
return $row;
} else {
return false;
}
}
/**
* 对数据进行安全处理
* @param string $data 待转义字符串
* @return string 转义后的字符串
*/
function safeHandle($data){
//转义字符串中的HTML标签
$data = htmlspecialchars($data);
//转义字符串中的特殊字符
$data = mysqli_real_escape_string($data);
return $data;
}
我搜索了一下mysqli_query($sql,$link);的参数都是这样写的,但是按照楼上说的在另外一个程序把参数的顺序给调换过来确实是能连接上了。
//声明文件解析的编码格式
header('content-type:text/html;charset=utf-8');
require './public_function.php';//初始化数据库
dbInit();//准备SQL语句
$sql = 'select * from emp_info';//定义员工数组,用以保存员工信息,执行SQL语句,获取结果集
//$emp_info = fetchAll($sql);
$emp_info=array();
while ($row = mysqli_fetch_assoc($result)){
$emp_info[] = $row;
}//设置常量,用以判断视图页面是否由此页面加载
define('APP', 'php');
//加载视图页面,显示数据
require './list_html.php';
$res['a']='124235';echo json_encode($res);
header('Content-Type:text/html;charset=utf-8');$error = array(); //保存错误信息//当有表单提交时
if(!empty($_POST)){
//接收用户登录表单
$username = isset($_POST['username']) ? trim($_POST['username']) : '';
$password = isset($_POST['password']) ? $_POST['password'] : ''; //载入表单验证函数库,验证用户名和密码格式
// require 'check_form.lib.php';
// if(($result = checkUsername($username)) !== true) $error[] = $result;
// if(($result = checkPassword($password)) !== true) $error[] = $result; //表单验证通过,再到数据库中验证
if(empty($error)){
$link = mysqli_connect('localhost','root','root','php');
//判断数据库连接是否成功,如果不成功则显示错误信息并终止脚本继续执行
if(!$link)
{
die('连接数据库失败!'.mysqli_connect_error());
}
mysqli_query($link,'set names utf8');
// echo'连接成功!';
//SQL转义
$username = mysqli_real_escape_string($link,$username); //根据用户名取出用户信息
$sql = "select id,password from user where username='$username'";
if($rst = mysqli_query($link,$sql)){ //执行SQL,获得结果集
$row = mysqli_fetch_assoc($rst); //处理结果集 //计算密码的MD5
$password = md5($password);
//判断密码是否正确
if($password == $row['password']){
//欢迎登录! //登录成功,保存用户会话
session_start();
$_SESSION['userinfo'] = array(
'id' => $row['id'], //将用户id保存到SESSION
'username' => $username //将用户名保存到SESSION
); //登录成功,跳转到会员中心
// header('Location: index.php');
require './user.php'; //终止脚本继续执行
die;
}
}
$error[] = '用户名不存在或密码错误。';
}
}//加载HTML模板文件
define('APP','php');
require 'login_html.php';
login_html.php<?php if(!defined('APP')) die('error!'); ?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>欢迎登录</title>
<style>
body{background-color:#eee;margin:0;padding:0;}
#container {margin: 0 auto; width:500px;}
.reg{width:400px;margin:15px;padding:20px;border:1px solid #ccc;background-color:#fff;}
.reg .title{text-align:center;padding-bottom:10px;}
.reg th{font-weight:normal;text-align:right;}
.reg input{width:180px;border:1px solid #ccc;height:20px;padding-left:4px;}
.reg .button{background-color:#0099ff;border:1px solid #0099ff;color:#fff;width:80px;height:25px;margin:0 5px;cursor:pointer;}
.reg .td-btn{text-align:center;padding-top:10px;}
.error-box{width:378px;margin:15px;padding:10px;background:#FFF0F2;border:1px dotted #ff0099;font-size:14px;color:#ff0000;}
.error-box ul{margin:10px;padding-left:25px;}
</style>
</head>
<body>
<form method="post">
<table class="reg">
<tr><td class="title" colspan="2">欢迎登录</td></tr>
<tr><th>用户名:</th><td><input type="text" name="username" /></td></tr>
<tr><th>密码:</th><td><input type="password" name="password" /></td></tr>
<tr><td colspan="2" class="td-btn">
<input type="submit" value="登录" class="button" />
<input type="reset" value="重新填写" class="button" />
</td></tr>
</table>
</form>
<?php if(!empty($error)): ?>
<div class="error-box">登录失败,错误信息如下:
<ul><?php foreach($error as $v) echo "<li>$v</li>"; ?></ul>
</div>
<?php endIf; ?>
</body>
</html>user.php<?php
header('Content-Type:text/html;charset=utf-8');//启动SESSION
session_start();//用户退出
if(isset($_GET['action']) && $_GET['action']=='logout'){
//清除SESSION数据
unset($_SESSION['userinfo']); //如果SESSION中没有其他数据,则销毁SESSION
if(empty($_SESSION)){
session_destroy();
} //跳转到登录页面
header('Location: login.php'); //终止脚本
die;
}//判断SESSION中是否存在用户信息
if(isset($_SESSION['userinfo'])){
//用户信息存在,说明用户已经登录
$login = true; //保存用户登录状态
$userinfo = $_SESSION['userinfo']; //获取用户信息}else{
//用户信息不存在,说明用户没有登录
$login = false;
}//加载HTML模板文件
define('APP','php');
require 'user_html.php';
user_html.php<?php if(!defined('APP')) die('error!'); ?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>会员中心</title>
<style>
body{background-color:#eee;margin:0;padding:0;}
.box{width:400px;margin:15px;padding:20px;border:1px solid #ccc;background-color:#fff;}
.error-box{text-align:center;margin:15px;padding:10px;background:#FFF0F2;border:1px dotted #ff0099;font-size:14px;color:#ff0000;}
.error-box a{color:#0066ff;}
.box .title{font-size:20px;text-align:center;margin-bottom:20px;}
.box .welcome{text-align:center;}
.box .welcome a{color:#0066ff;}
.box .welcome span{color:#ff0000;}
</style>
</head>
<body>
<div class="box">
<div class="title">会员中心</div>
<?php if($login): ?>
<div class="welcome">“<span><?php echo $userinfo['username']; ?></span>”您好,欢迎来到会员中心。<a href="?action=logout">退出</a></div>
<!-- 此处编写会员中心其他内容 -->
<?php else: ?>
<div class="error-box">您还未登录,请先 <a href="login.php">登录</a> 或 <a href="register.php">注册新用户</a> 。</div>
<?php endIf; ?>
</div>
</body>
</html>
user.php无法保存登录状态,可咋办