mysql+php实现选课系统中遇到的问题及解决方法

首先是一些mysql 的基本命令 

删除表格  drop <table_name>;


约束条件 :

primary key   设置为主键 

 unique    值唯一

not null   非空

foreighn key(key_name) references(key_name)        设置外键

default <dedault_value>                 设置默认值 
auto_increment          一般用于设置编号,随着插入数据,逐渐增1

显示数据库中所有表格或变量
show tables;
show variables;

复制整张表       
create table <新表名> like <旧表名>;
create table <新表名> select * from <旧表名>;

只复制表的结构 而不复制数据
create table <新表名> select * from <旧表名>  where 1=2;   

删除表中字段(删除表的某一列)
alter <table_name> drop <字段名>

添加表中字段 
alter  <table_name> add <字段名> 
 
创建会话变量 的两种方式 
set @变量名 = XX;

select  @变量名;


以下两种复制方法 不一样

select @变量名  = XX;     有null
select @变量名 := XX;    一般用这种 

select XX into @变量名;       
select XX into @变量名 from <table_name> where <conditions>; 

sql判断两者相等 = 
判断两者相等或全空  使用 <=>
给字符串进行比较时,自动截取末尾的空格 在进行比较 




建立新的视图
create view XXXX


查看视图
select * from  <视图名>
show create view;




mysql error no 的解释在mysql manual的附录B中 




mysql 不能启动该服务
将安装目录下c:\program files\mysql<version>\data下
logfile1  logfile2  idata文件去除






忘记root管理员密码的解决方法:
删除安装目录下的logfile文件 重启服务
cmd下输入 mysql -uroot -p 
提示输入密码时  按回车


html中的 href其实是定义一个连接的终点 即点击该连接会跳转到哪个网页
html中的<a>  </a>其实是超链接的标签




php语句中只要对 $_SESSION进行读写就要在文件开头调用 
session_start();


mysql字符串处理函数  substring() hex() unhex() char() 




检索数据库的流程 
# 数据库有返回数据时
$result = mysql_query($sql);
$array = mysql_fetch_array($result);
$rows = mysql_num_row($array);


# 数据库没有返回数据时
mysql_query($sql);
$affected_rows=mysql_affcted_rows();
#之后判断该变量是否为0 0则表示失败 非0表示成功 


html中绘制图表使用<table></table>
绘制单元格
 <th></th>  字体默认居中  粗体
 <td></td>  居左
表换行
<tr></tr>




sql函数编写过程中可能会有这么一句 no sql 表示函数体中没有sql语句
read sql data   函数体中会读取数据库




关于$message
header("Location:index.php?message=$message") 是什么语法
<a href="index.php?url=check_course.php&course_no=$course_no"></a> 是什么意思 
<a href='#' title=$description>
php 中频繁出现的c_before c_after 是什么意思 




sql procedure 调用方式 
call <procedure_name>(参数1,参数2....)


sql 将多条SQL语句封装成原子操作  使用
start transaction;
<sql语句>;
commit;




sql好几个表之间怎么连接起来 
select * from <主表>
join <附表1>  on   <连接条件1>
join <附表2>  on   <连接条件2>
where <筛选条件>




删除table中某一行数据
delete from <table_name> where <condition> 


sql source <sql文件名>后面千万不要加;
sql 写function或者procedure时,第二个delimiter后面要加空格 
delimiter<空格>;


工程进行顺序
1. 设置中文字符集
显示mysql支持的字符集   show character set;
显示当前会话字符集      show variables like "character%";


当需要指定table或者database 的字符集时,需要
create database default character set utf8 collate utf8_general_ci;
create table default character set utf8 collate utf8_general_ci;
当需要制定table中某一列的字符集时
对于非char型变量,不能指定
对于cha型变量   teacher_name char(10) default character set utf8 collate utf8_general_ci not null
其中not null等限制语句必须要放到 character set XXX的后面 




操作方法   
在安装目录下的my.ini文件中, 
设置default-character-set=gbk 
[mysqld]中的character-set-server=gbk
保存my.ini文件, 并且重启mysql服务  则这些字符集将会在新的mysql服务中生效


使用mysql中的source命令导入数据时,不论当前系统是win还是linux, 
source后文件路径的目录分隔符必须是 / 而不是\
 


2. 校正编译错误  














在PHP中,有几种获得全局变量的方法 
$_GET 
<a href="index.php?url=delete_course.php&course_no=22">删除该课程</a> 
这是一个删除课程的链接,在其中,course_no被传给了文件delete_course.php
其中,该文件内以 $_GET["course_no"]的形式获得该数据  


$_SESSION  
在登陆界面中, 一旦登陆成功,在后续的PHP文件中就可以使用
$_SESSION["account_no"] 和 $_SESSION["password"] 记录登陆者的账号和密码
不过在使用之前,需要session_start进行说明 


$_POST
前一个XXX.php页面显示表格,后一个process_XXX.php作为处理或显示XXX.php中数据的文件,可以
以$_POST['YY']的形式获得其中数据,其中YY是XXX.php中控件的名称 $_POST['YY']是其值
注意, 当XXX.php页面中的method声明为GET时,对应处理文件process_XXX中应该以$_GET['YY']的
形式获取数据 


以上是PHP中获取页面数据的典型三种方式  



已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页