MySQL数据库5.7.X的安装:
1.将解压文件复制到某干净文件夹中,路径中不能存在中文和空格,将bin目录添加到全局变量中,在电脑管理->高级管理->全局变量配置->path新建或者用";"连接新目录;
2.配置my.ini文件(!!!!注意:文档一定是utf8格式编码,否则环境将无法初始化);
[mysql]
#设置MySQL客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Sirius\devSoft\mysql-5.7.24-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\Sirius\devSoft\mysql-5.7.24-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#开启查询缓存(重要)
explicit_defaults_for_timestamp=true
2.以管理员身份打开cmd,将目录切换到安装目录下安装服务(未切换目录会导致报错找不到文件,报错处理找到注册文件更改其服务路径,更改为安装目录下的data/mysqld)
mysqld install
3.对MySQL进行环境初始化,
mysqld --initialize-insecure
4.启动服务
net start mysql
5.登录数据库
mysql -u用户名(初始为root) -p密码(初始值一般为空)--------注意:登录成功过后尽量立即更改密码,否则下次登录连接数据库时会随机分配一个密码
更改密码: SET PASSWORD FOR '用户名'@'数据库地址(IP)' = PASSWORD('密码');
6.数据库可视化管理工具:NavicatPremium;
php中常用的一些函数及注意事项:
PHP中数据库连接
$conn=mysqli_connect('localhost','root','root','itsource',3306) or die('Error');
查询语句语法
$sql=mysqli_query($conn,'查询命令');//返回查询的结果结果为object;查询命令成功则返回查询结果,失败返回false,添加插入修改等则返回bool值;
在查询到的返回结果集中使用msyqli_fetch_all(结果集,1);返回数组,获取其对象值,obj['属性值'];
传回前端前对数据的处理封装
eg:$inquireTable='SELECT * FROM `usermessage`';//查询usermessage表语句;
$sql=mysqli_query($link,$inquireTable);//建立连接并执行查询语句
// var_dump(mysqli_num_rows($sql));
if(mysqli_num_rows($sql)>0){//判断内容是否为空
$arr = mysqli_fetch_all($sql,1);//获取到全部数据,以数组的形式呈现
$result=array(//创建数组
"succee"=>true,//成功
"data"=>$arr//json格式对象
// "name"=>$_SESSION['name']
);
echo json_encode($result);//返回到前端页面
}else{
$result=array(
"succee"=>false,
"message"=>'请联系管理员'
);
};
前端的请求发送及接收数据的处理
原生ajax-post请求:
let ajax = new XMLHttpRequest();//创建ajax请求
ajax.open("post", "addMessage.php");
//3. 监听:在适当的时候接受响应数据
ajax.onreadystatechange = function () {
//当ajax请求状态码等于4 并且 http响应状态码等于200
if (ajax.readyState === 4 && ajax.status === 200) {
//接受参数 -- 对象
let jsonData = JSON.parse(ajax.responseText);//转为数组
// console.log(jsonData.succee);
if (jsonData.succee) {
load();
alert(jsonData.message);
} else {
alert(jsonData.message);
}
}
}
//4. 设置请求头
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//5. 发送请求
ajax.send(`text=${text}`);
原生ajax-get请求:
let ajax = new XMLHttpRequest();//创建ajax请求
ajax.open("get", `index.php`);
//3. 监听:在适当的时候接受响应数据
ajax.onreadystatechange = function () {
//当ajax请求状态码等于4 并且 http响应状态码等于200
if (ajax.readyState === 4 && ajax.status === 200) {
//接受参数 -- 对象
let jsonData = JSON.parse(ajax.responseText);//转为数组
// document.username=jsonData.data.name;
// console.log(jsonData.data);
if (jsonData.succee) {
let ht="";
// 输出数据
for (let i = 0; i < jsonData.data.length; i++) {
let jsonDataText = jsonData.data[i].text.split(",");
for (let a = 0; a < jsonDataText.length; a++) {
ht += `<li>${jsonData.data[i].name}在${jsonData.data[i].time}说${jsonDataText[a]}</li>`;
// debugger;
}
}
document.querySelector('ul').innerHTML = ht;
} else {
alert(jsonData.message);
}
}
}
//4. 发送请求
ajax.send();