php和mysql学习问题笔记

编程之家收集整理的这篇文章主要介绍了php和mysql学习问题笔记编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、Undefined index: pwd in E:\xampp\htdocs\PHPbase2elite\12\source\register.PHP on line 6

这是一个警告,表示数组下标为'pwd'未定义就在使用了
修改代码:isset($_POST['username'])?$_POST['username']:"";2、

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');


但这时你会发现中文显示“??”,乱码,解决办法:

进入字段--->选择乱码的变量,点击修改--->将其更改成”utf8_general_ci“,再向表中插入中文数据,不显示乱码了。

还有一种办法就是:

在创建表的时候应该先添加字段的编码,在字段类型后面添加CHARACTER SET utf8 COLLATE utf8_general_ci“,比如sql语句

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 utf8 COLLATE utf8_general_ci是干什么用的呢?

如果表的结构指定了CHARACTER SET X和COLLATE Y,那么采用字符集X和校对规则Y。 如果指定了CHARACTER SET X而没有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的认校对规则。 否则,采用认的字符集和服务器校对规则。

第三种办法:点击操作,改掉数据库认编码变为utf8_general_ci,这样我们就不用一个个去改了

 4、drop、delete和truncate

drop是删除表,使用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:\xampp\htdocs\PHPbase2elite\15\bbs\TreeNode.PHP on line 50

就是数组越界,没有定义;解决办法:先用isset判断

if(isset($arr[100])){
    $arr[100]="111" ; 
}

 

7、PHP返回json数据

方法1:

$tt=json_encode(array("name"=>"111"));
    echo $tt;
/*********************/
//在js文件
result = myReq.responseText;
//解析json数据变为对象
result=JSON.parse(result);

方法2:

echo '{"name":"1111"}';
/*********************/
//在js文件中,用JSON.parse解析
result = myReq.responseText;
解析json数据变为对象
result=JSON.parse(result);

 

 

 





总结

以上是编程之家为你收集整理的php和mysql学习问题笔记全部内容,希望文章能够帮你解决php和mysql学习问题笔记所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

相关文章

猜你在找的PHP相关文章

创建测试数据: 首先我们需要创建一些测试记录,然后先来演示一下数据库的基本的链接命令的使用. create table username ( uid int not null,name varchar
漏洞总结 PHP 文件上传漏洞 只验证MIME类型: 代码中验证了上传的MIME类型,绕过方式使用Burp抓包,将上传的一句话小马*.php中的Content-Type:application/php
笔者将学习PHP时的学习笔记分享出来,基本上是前面的那些博文的汇总,看起来更方便一些,笔者最近放弃了PHP代码审计部分,所以不再继续学下去了,由于精力实在达不到,只能选择一样进行发展,不想成为半瓶子醋
字符操作 字符串输出: 字符串输出格式与C语言保持一致, <?php // printf 普通的输出函数 $string = "hello lyshark"; $number
PHP 基本语法 普通变量: 普通变量的定义语法,以及通过各种方式判断字符串是否为空. <?php $var = ""; // 定义字符串 define("CON_
只验证MIME类型: 代码中验证了上传的MIME类型,绕过方式使用Burp抓包,将上传的一句话小马*.php中的Content-Type:application/php,修改成Content-Type
代码审计(Code audit)是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析。软件代码审计是对编程项目中源代码的全面分析,旨在发现错误,安全漏洞或违反编程约定。 接下来你需要准备好L
(o゜▽゜)o☆[BINGO!] ok,我们先看看cookie是什么东东? cookie是服务器留在客户端的用于识别用户或者存储一些数据的小文件(注意,session存储在服务器端,这是两者的区别之一
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注