php和mysql学习问题笔记
1、Undefined index: pwd in E:xampphtdocsphpbase2elite12sourceregister.php on line 6这是一个警告,表示数组下标为'pwd'未定义就在使用了 2、防止sql注入// 检查客户端提交的数据中是否含有非法字符 function checkIllegalWord () { 定义不允许提交的SQL命令及关键字 $words = array(); $words[] = " add "; $words[] = " count "$words[] = " create "$words[] = " delete "$words[] = " drop "; $words[] = " from "$words[] = " grant "$words[] = " insert "$words[] = " select "$words[] = " truncate "$words[] = " update "$words[] = " use "$words[] = "-- "; 判断提交的数据中是否存在以上关键字,$_REQUEST中含有所有提交数据 foreach($_REQUEST as $strGot) { $strGot = strtolower($strGot); 转为小写 $words $word) { if (strstr($strGot,)) { echo "您输入的内容含有非法字符!"; exit; 退出运行 } } } foreach } checkIllegalWord(); 检查非法字符 ? 3、如何在phpmyadmin中新insert一条新数据,以及解决中文显示乱码的问题;先选中你要插入的表格,再在sql中输入下面这条语句: insert into t_user(f_username,f_password,f_name,f_email) values ('admin1',md5('123456'),'管理员','bob@google.com');
进入字段--->选择乱码的变量,点击修改--->将其更改成” 还有一种办法就是: 在创建表的时候应该先添加字段的编码,在字段类型后面添加” create table webgrades( 班级 varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci,学号 varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci,姓名 varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci,成绩 int (3)); 那么 如果表的结构指定了CHARACTER SET X和COLLATE Y,那么采用字符集X和校对规则Y。 如果指定了CHARACTER SET X而没有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默认校对规则。 否则,采用默认的字符集和服务器校对规则。 第三种办法:点击操作,改掉数据库的默认编码变为utf8_general_ci,这样我们就不用一个个去改了 ?4、drop、delete和truncatedrop是删除表,使用drop之后表结构和表的数据都会被删除,truncate 和 delete是删除表里的数据,但不删除表本身,truncate 和 delete相比,truncate要快很多,但缺点就是不能回滚,包括索引等都会变成初始值,数据就无法恢复了。 ?5、Xampp中mysql传来的中文数据乱码使用XAMPP的过程中,对于存入表中的中文,在phpmyadmin中查看发现全是乱码,其实单纯的在mysql中也是这样,因为默认使用的是latin1的编码格式。 ? ? ? ?改一下mysql下的bin文件下的my.ini文件就可以实现使用utf8_general_ci编码格式,这样就能显示中文了。 ? ? ? ?在my.ini中添加下面一些东西: [client] default_character_set = utf8 [mysqld] character-set-server = utf8 collation-server = utf8_general_ci [mysql] default_character_set = utf8 ? ? ? ? 重启mySQL,再次存入数据,发现没有中文乱码问题了。 ? 6、Notice: Undefined offset: 3 in E:xampphtdocsphpbase2elite15bbsTreeNode.php on line 50就是数组越界,没有定义;解决办法:先用isset判断 if(isset($arr[100])){ $arr[100]="111" ; } ? 7、php返回json数据方法1: $tt=json_encode(array("name"=>"111")); echo $tt; 方法2: echo '{"name":"1111"}'; ? ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- php – 递归应用array_map(array_walk_recursive?)
- 如何编译PHP 5.3 for Windows作为DLL的扩展?
- php – 为什么apache不会同时处理来自同一浏览器的多个请求
- Zend studio文件注释模板设置方法
- php – 为不同的内容类型保存评论
- php实现httpRequest的方法
- PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多
- YII Framework框架教程之使用YIIC快速创建YII应用详解
- PHP中time(),date(),mktime()区别介绍
- php.ini – PHP – 扩展 – no-debug-non-zts-xxxxxxxx