<?php
。。。。。
public function sqlRun($sql){
global $gconn;
return $gconn->query($sql);
}
public function getRow($sql){
$res = $this->sqlRun($sql);
return $res->fetch_assoc();
}
。。。。
?>
前面的调用
<?php
。。。。
//创建对象
$data = new MysqlData;
$sql = "SELECT * FROM users WHERE id = ".$id.";";
$row = $data->getRow($sql);
// echo $sql;
$data->closeConn();
?>
出现以下问题,没搞懂,是哪里错了?好像是query($sql)用错了?
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in F:\PhpStudy\phpstudy_pro\WWW\MysqlData.php:22
Stack trace: #0 F:\PhpStudy\phpstudy_pro\WWW\main.php(13): MysqlData->getRow('SELECT * FROM u...')
#1 {main} thrown in F:\PhpStudy\phpstudy_pro\WWW\MysqlData.php on line 22
<?php
require("./MysqlData.php");
/*检查cookie中的password变量是否不等于true,是的话表示尚未登录网站,就重定向到denglu.html页面*/
$id = $_COOKIE["id"];
$password = $_COOKIE["password"];
if ($password != "TRUE") {
header("location:denglu.html");
exit();
}
//创建对象
$data = new MysqlData;
$sql = "SELECT * FROM users WHERE id = ".$id.";";
$row = $data->getRow($sql);
// echo $sql;
$data->closeConn();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登录成功页面</title>
</head>
<style type="text/css">
.wrapper{
text-align: center;
width:1000px;
margin:20px auto;
}
h2{
background-color:#7CCD7C;
margin:0px;
text-align:center;
}
.my{
margin:20px auto;
}
.my labal{
text-align: center;
background-color: #FFB6C1;
color: #fff;
margin:20px auto;
}
</style>
<body>
<div class="wrapper">
<h2>用户管理系统</h2>
<div class="my">
<labal>我的资料</labal>
</div>
<labal>用户名:</labal><input type="text" value="<?php echo $row['name'] ?>" readonly="readonly"><br><br>
<labal>性别:</labal>
<input type="radio"value="0" <?php if ($row['sex'] == "0") echo "checked"?>>男
<input type="radio"value="1" <?php if ($row['sex'] == "1") echo "checked"?>>女
<br><br>
<labal>年龄:</labal><input type="text" value="<?php echo $row['age'] ?>" readonly="readonly"><br><br>
<labal>邮箱:</labal><input type="text" value="<?php echo $row['email'] ?>" readonly="readonly"><br><br>
<a href="modify.php">修改我的资料</a>
</div>
</body>
</html>
main.php
<?php
/**
* 读取数据库
*/
class MysqlData extends MysqlConnect
{
/**
* 查询数据
* @return $sql
*/
public function selectData(){
$sql = "SELECT * FROM users;";
return $sql;
}
/**
* 获取单行数据
* @param $sql
* @return
*/
public function getRow($sql){
$res = $this->sqlRun($sql);
return $res->fetch_assoc();
}
/**
* 添加数据
* @param $name
* @param $sex
* @param $age
* @param $email
* @return
*/
public function insertData($name,$sex,$age,$email){
$insert_sql = "INSERT INTO users(name,sex,age,email)VALUES('".$name."',".$sex.",".$age.",'".$email."');";
// $this->sqlRun($insert_sql);
if ($this->sqlRun($insert_sql) === TRUE) {
echo "<script type='text/javascript'>alert('新用户添加成功!');</script>";
}else{
echo "<script type='text/javascript'>alert('添加失败!');</script>";
}
}
public function select_user($name,$password){
$select_sql = "SELECT * FROM users WHERE name='".$name."' and password='".$password."';";
return $select_sql;
}
/**
* 注册新用户
* @param [type] $name [description]
* @param [type] $password [description]
* @param [type] $sex [description]
* @param [type] $age [description]
* @param [type] $email [description]
* @return [type] [description]
*/
public function zhuceData($name,$password,$sex,$age,$email){
$zhuce_sql = "INSERT INTO users(name,password,sex,age,email)VALUES('".$name."','".$password."',".$sex.",".$age.",'".$email."');";
return $zhuce_sql;
}
/**
* 删除数据
* @param $delId
* @return
*/
public function deleteData($delId){
$delete_sql = "DELETE FROM users WHERE id =".$delId;
if ($this->sqlRun($delete_sql) === TRUE) {
echo "<script type='text/javascript'>alert('删除成功!');</script>";
}else{
echo "<script type='text/javascript'>alert('删除失败!');</script>";
}
}
/**
* 编辑页面根据id查询出要修改的数据
* @param $editId
* @return
*/
public function editData($editId){
$edit_sql = "SELECT * FROM users WHERE id=".$editId;
// $this->sqlRun($edit_sql);
return $edit_sql;
}
/**
* 更改数据
* @param $name
* @param $sex
* @param $age
* @param $email
* @return
*/
public function updateData($id,$name,$sex,$age,$email){
$update_sql = "UPDATE users SET name='".$name."',sex=".$sex.",age=".$age.",email='".$email."' WHERE id=".$id.";";
echo $update_sql;
if ($this->sqlRun($update_sql)) {
echo "修改成功!";
}else{
echo "shibai !";
}
}
/**
* 高级搜索
* @param [type] $name [description]
* @param [type] $sex [description]
* @param [type] $age [description]
* @param [type] $email [description]
* @return [type] [description]
*/
public function searchData($name,$sex,$age,$email){
// $search_sql = "SELECT * FROM users WHERE 1=1 and name LIKE '%".$name."%'
// UNION
// SELECT * FROM users WHERE sex=".$sex."
// UNION
// SELECT * FROM users WHERE age=".$age."
// UNION
// SELECT * FROM users WHERE email LIKE '%".$email."%';";
// return $search_sql;
switch ($name) {
//未输入姓名
case null:
$name_info='';
break;
//根据姓名模糊查询
default:
$name_info=" and name LIKE '%".$name."%'";
break;
}
switch ($sex) {
//未输入性别
case null:
$sex_info='';
break;
//根据性别准确查询
default:
$sex_info=' and sex='.$sex;
break;
}
switch ($age) {
//未输入年龄
case null:
$age_info='';
break;
//根据年龄准确查询
default:
$age_info=' and age='.$age;
break;
}
switch ($email) {
//未输入邮箱
case null:
$email_info='';
break;
//根据邮箱模糊查询
default:
$email_info=" and email LIKE '%".$email."%'";
break;
}
$search_sql='SELECT * FROM users WHERE 1=1'.$name_info.$sex_info.$age_info.$email_info;'';
return $search_sql;
}
}
/**
* 连接数据库
*/
class MysqlConnect
{
protected $gconn = null;
/**
* 初始化
*/
public function __construct()
{
global $gconn;
$gconn = $this->sqlConn();
}
/**
* 数据库连接
* @return mysqli
*/
public function sqlConn(){
// var_dump(111);
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "design";
//连接数据库
$conn = new mysqli($servername,$username,$password,$dbname);
//检测连接
if ($conn->connect_error) {
die("连接失败...") . $conn->connect_error;
}else{
//echo "数据库连接成功!";
}
return $conn;
}
/**
* 执行sql语句
* @param $sql
* @return
*/
public function sqlRun($sql){
global $gconn;
return $gconn->query($sql);
}
/**
* 关闭数据库
* @return $conn
*/
public function closeConn(){
global $gconn;
$gconn->close();
}
}
MysqlData.php
dd