Tag:mysql

Tag (mysql)'s result:

lsacms_v1.0(php)正式开源

概述: 前段时间用thinkphp3框架写了个简单的cms,熟悉一下流行的thinkphp框架,练手项目,大牛绕过。 github地址:https://github.com/theLSA/lsacms_v1.0 欢迎pr。 环境: redhat6+mysql14.14+php5+apache2 功能简述: 三种角色: 学生:个人信息查询,个人课程查询,选课 教师:个人信息查询,个人开设课程查询,开课,删除课程,录入成绩,课程详情等 管理员:信息管理,课程查询,用户管理,管理员管理 两个入口:教师和学生入口index.php,管理员入口admin.php 更多功能请自行挖掘。 结语: 前端用了网上的一些模板,MVC模式,挺简单的项目,新手可以参考一下。

PHP+MYSQL中文乱码解决历程

问题描述: 1.php输出mysql里的中文数据出现乱码。 2.mysql存储中文数据乱码。 ******************************************* 乱码问题一般就是编码不统一,只要把各部分的编码统一就ok了,但是就是各部分编码统一很烦人,写php时就遇到上述问题,记录一下解决过程,供大家参考。 这里以统一utf-8编码为例: 1.网页显示编码声明为utf-8:<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> 2.保存的文件用utf-8编码:另存为-utf-8-replace 3.thinkphp的配置 ‘db-charset’ => ‘utf8’ 4,数据库编码改为utf8:mysql>alter database <数据库名> character set utf8; 5.数据库表名改为utf8:mysql>alter table <表名> character set utf8; (最好在创建库和表就设为utf8,不然可能还要改字段的编码) 首先保证上述5点编码统一! mysql> show variables like ‘character_set_database’;查看数据库编码 mysql> show create table <表名>;查看数据表编码 都是utf8没问题 但是看php输出的中文数据一直是乱码,看了网上的资料才发现cmd的编码是gbk,而我的中文数据是从cmd直接insert into的(在cmd中看正常不乱码),所以还是乱码,接着我从php添加中文数据,输出乱码问题解决! 由此引发新问题,当我在cmd中查看数据库中刚刚从php添加的中文数据又乱码了,而且一个中文就变成一个?号,其余正常。 先了解下相关知识: show variables like ‘character%’;查看当前数据库的相关编码集 client    为客户端使用的字符集。 connection    为连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型则按照服务器端默认的字符集设置。 database    为数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。 results    为数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。 server    为服务器安装时指定的默认字符集设定。 system    为数据库系统使用的字符集设定。 猜想可能是由于mysql用utf8存储数据,而cmd用gbk编码,所以在cmd中看就乱码了,尝试set names gbk;改变connection,results,client的编码为gbk,再次查看还是乱码(而且问号更多了……)。 现在先在my.cnf中加入: [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 把connection,result,client都先设置为utf8。 发现中文乱码更奇怪了,但是用php新增的那个中文数据倒是没乱码了,以前用cmd新增的数据就是乱码(a…)。 感觉越来越乱了。 猜测可能是php用utf8新增数据而cmd新增的数据是gbk所以乱码,尝试用php再新增一条中文数据,结果发现php输出正常,在cmd中查看也正常,所以是cmd中用gbk insert into导致乱码,在cmd中再添加一条中文数据发现中文也正常了,真是神奇。 这个中文乱码问题真的非常烦人,不过勉强解决了文章开始的两个问题,先这样吧!

php留言板lsamsgboard_v1.0震撼发布!

初学php,写了这个简单的留言板,没弄前端,没用框架,关注于功能实现,后期有空再美化一下。 简介: 1.3种角色:未注册游客,已注册普通用户,管理员,利用session实现了简单的权限控制。 2.游客只有浏览留言的权限,普通用户可以发表/回复留言,并且可以删除自己的留言,管理员可以发表/删除/回复留言。 3.管理员有管理面板可以搜索注册用户,并且可以编辑/删除用户。 4.无限回复功能,并区分楼层,管理员可以删除回复。 5.实现了简单的分页。 更多功能请自行挖掘…… 项目地址:https://github.com/theLSA/lsamsgboard_v1.0/

(转) Mysql命令大全

本文转载自:http://www.cnblogs.com/zhangzhu/archive/2013/07/04/3172486.html 1、连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样) 3、退出MYSQL命令: exit (回车) 2、修改密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1、给root加个密码ab12。 首先在DOS下进入目录mysql\bin,然后键入以下命令 mysqladmin -u root -password ab12 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 2、再将root的密码改为djg345。 mysqladmin -u root -p ab12 password djg345 3、增加新用户 注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符 格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码” 1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令: grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”; 但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。 2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。 grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”; 如果你不想test2有密码,可以再打一个命令将密码消掉。 grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”; 4.1 创建数据库 注意:创建数据库之前要先连接Mysql服务器 命令:create database <数据库名> 例1:建立一个名为xhkdb的数据库 mysql> create database xhkdb; 例2:创建数据库并分配用户 ①CREATE DATABASE 数据库名; ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY ‘密码’; ③SET PASSWORD FOR ‘数据库名’@’localhost’ = OLD_PASSWORD(‘密码’); 依次执行3个命令完成数据库创建。注意:中文 “密码”和“数据库”是户自己需要设置的。 4.2 显示数据库 命令:show databases (注意:最后有个s) mysql> show databases;注意:为了不再显示的时候乱码,要修改数据库默认编码。以下以GBK编码页面为例进行说明:1、修改MYSQL的配置文件:my.ini里面修改default-character-set=gbk 2、代码运行时修改: ①Java代码:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ②PHP代码:header(“Content-Type:text/html;charset=gb2312”); ③C语言代码:int mysql_set_character_set( MYSQL * mysql, char * csname); 该 函数用于为当前连接设置默认的字符集。字符串csname指定了1个有效的字符集名称。连接校对成为字符集的默认校对。该函数的工作方式与SET NAMES语句类似,但它还能设置mysql- > charset的值,从而影响了由mysql_real_escape_string() 设置的字符集。 4.3 删除数据库 命令:drop database <数据库名> 例如:删除名为 xhkdb的数据库 mysql> drop database xhkdb;例子1:删除一个已经确定存在的数据库 mysql> drop database drop_database; Query OK, 0 rows affected (0.00 sec)例子2:删除一个不确定存在的数据库 mysql> drop database drop_database;……

php pdo test

I did a php pdo test,firstly I created a database named pdotest,then I created a table named books and inserted some records for test.Finally I used pdo to get thoes records. <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>pdotest</title> <style type=”text/css”> <!– body,td,th { font-size: 18px; } –> </style></head> <body bgcolor=”#FFFFFF” leftmargin=”0″ topmargin=”0″ marginwidth=”0″ marginheight=”0″> <table width=”400″ border=”0″ cellpadding=”0″ cellspacing=”0″> <tr> <td height=”30″ align=”center”><strong>id</strong></td> <td align=”center”><strong>bookname</strong></td> <td align=”center”><strong>bookprice</strong></td> <td align=”center”><strong>edit</strong></td> </tr> <?php $dbms=’mysql’; $host=’localhost’; $dbName=’pdotest’; $user=’root’; $pass=’root’; $dsn=”$dbms:host=$host;dbname=$dbName”; try { $pdo = new PDO($dsn, $user, $pass); $query=’select * from books’; $result=$pdo->prepare($query); $result->execute(); echo ‘errorcode:’.$pdo->errorCode(); echo ‘<br/>’; print_r($pdo->errorInfo()); while($res=$result->fetch(PDO::FETCH_ASSOC)){ ?> <tr> <td height=”22″ align=”center” valign=”middle”><?php echo $res[‘id’];?></td> <td align=”center” valign=”middle”><?php echo $res[‘bookname’];?></td> <td align=”center” valign=”middle”><?php echo $res[‘bookprice’];?></td> <td align=”center” valign=”middle”><a href=”#”>delete</a></td> </tr> <?php } } catch (PDOException $e) { die (“Error!: ” . $e->getMessage() . “<br/>”); } ?> </table> </td> </body> </html> If you want to see the error code when the sql is error,you should use $pdo->query($query) instead of prepare and……

php+mysql's operations

基于上次实现的php+mysql实现超原始的注册登录之后,这次的故事实现在登录后以超级管理员身份进行对注册用户的增删改查操作,而以普通用户却无法实现操作数据库(这里涉及权限控制,我只是简单表示一下效果而已,还没实现真正的权限控制) 先放上连接数据库的页面(conndb.php): <?php $db = mysql_connect(“127.0.0.1″,”root”,”root”) or die(“Fail to connect db!”); mysql_select_db(“userdb”,$db) or die (“Can’t connect to userdb”.mysql_error()); ?> 以lsa超级管理员登录后页面(welcome.php)增强版: <?php $username = $_GET[‘uname’]; if($username==’lsa’){ echo ‘Welcome SuperAdmin ‘.$username.’!’; echo ‘<br/><br/>’; include(“/var/www/html/conndb.php”); //$sql = mysql_query(“select * from user order by username”); //$info = mysql_fetch_array($sql); if($_GET[‘page’]==””){ $_GET[‘page’] = 1; } if(is_numeric($_GET[‘page’])){ $page_size = 5; $query = “select count(*) as total from user order by username”; $result = mysql_query($query); $user_count = mysql_result($result,0,0); $page_count = ceil($user_count/$page_size); $offset = ($_GET[‘page’] – 1) * $page_size; $sql = mysql_query(“select * from user order by username limit $offset,$page_size”); $info = mysql_fetch_array($sql); //get a group record(5).mysql_num_rows($sql) is 5 } ?> <form name=”myform” method=”post” action=”search.php” target=”_blank” > <input name=”searchname” type=”text” id=”searchname” size=”25″> &nbsp; <input type=”submit” name=”Submit” value=”search”> </form> <a href=”add_user.php”>Add_user</a> <table width=”100%” height=”200″ border=”1″ cellpadding=”0″ cellspacing=”0″ bgcolor=”#9E7DB4″ align=”center”> <tr valign=”top” bgcolor=”#FFFFFF”> <td height=”100″> <table width=”100%” height=”100%” border=”0″ cellpadding=”0″ cellspacing=”0″> <tr> <td height=”90″ align=”center” valign=”top”> <table width=”100%” border=”0″ align=”center” cellpadding=”0″ cellspacing=”1″ bgcolor=”#625D59″> <tr align=”center” bgcolor=”#00cc00″> <td width=”70″>username</td> <td width=”200″>password</td> <td width=”20″>edit</td> </tr> <?php if($info==false){ echo “<div align=’center’ style=’color:#FF0000; font-size:18px’>Sorry,not found!</div>”;……

php+mysql实现超原始的注册登录

涉及主要知识点: 1.php操作mysql 2.加密函数md5() 3.php用?页面间传递参数 4.$_GET[]和$_POST[] 平台:redhat6+php5.3+mysql14.14+ Apache/2.2.15 (经典LAMP) 注册页面(regtest.php): <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″> <title>welcome to regtest.php</title> </head> <body> <h1>reg</h1> <form method=”post” action=”reg_check.php”> username<input type=”text” name=”username” > password:<input type=”password” name=”password”> password again:<input type=”password” name=”pwd_again”> <input type=”submit” value=”submit”> <input type=”reset” value=”clean”> </form> </body> </html> 注册验证页面(reg_check.php): 用于验证注册和写入数据库 <?php $db = mysql_connect(“127.0.0.1″,”root”,”root”) or die(“Fail to connect db”); mysql_select_db(“userdb”,$db) or die (“can’t connect to userdb”.mysql_error()); $username=$_POST[‘username’]; $password=$_POST[‘password’]; $pwd_again=$_POST[‘pwd_again’]; if($username==””||$password==””) { echo”error:username or password empty”; } else { if($password!=$pwd_again) { echo”password is different!”; echo”<a href=’regtest.php’>input again</a>”; } else { $md5pass=md5($password); $sql=”insert into user(username,password) values(‘$username’,’$md5pass’)”; $result=mysql_query($sql); if(!$result) { echo”Fail reg!”.mysql_error(); echo”<a href=’regtest.php’>返回</a>”; } else { echo”Success reg!”; } } } ?> 看下数据库: 登录页面(logintest.php): <!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″> <title>welcome to login</title> </head> <body> <form method=”post” action=”login_check.php”> username:<input type=”text” name=”username” > password:<input type=”password” name=”password”> <input type=”submit” value=”login”> <input type=”reset” value=”clean”> <a href=”regtest.php” >reg</a> </form> </body> </html> 登陆验证页面(login_check.php) <?php $username=$_POST[‘username’]; $password=$_POST[‘password’]; $db = mysql_connect(“127.0.0.1″,”root”,”root”) or die(“Fail to connect db!”); mysql_select_db(“userdb”,$db)……