php判断输入不超过mysql的varchar字段的长度范围

yipeiwu_com5年前Mysql基础
但是如果在utf-8编码下,一个汉字是占3个字符长度的,比如字符串$str=”你好啊!!”;

如果你用strlen函数来判断,长度是11,正好超过了varchar的长度,但实际上确不是这样,如果直接到phpmyadmin里面执行insert语句,这条字符串是可以插入的!

对于数据库来说,它的长度是5,那么我们如何用PHP来得到这个长度呢?使用iconv_strlen()函数!

echo iconv_strlen($str,'utf-8′);

注意第二个参数,是当前字符集,这样根据不同的字符集你得到的结果都是根据一个字符占一个长度计算来的!

上面的语句,将输出5,怎么样,你会判断了吗?

相关文章

php写的带缓存数据功能的mysqli类

复制代码 代码如下: <?php /** * Mysqli类 */ class db_mysqli { protected $mysqli; protected $sql; pro...

PHP读MYSQL中文乱码的解决方法

打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。   以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的M...

php 无法加载mysql的module的时候的配置的解决方案引发的思考

php 无法加载mysql的module的时候的配置的解决方案引发的思考

之后看phpinfo() 里 确实也没找到mysql 模块, 之后所谓的解决方案如“将php.ini” 放入C:\Windows 环境变量等不靠谱说法。。。。。 甚至拷贝ext的文件夹的...

在mysql数据库原有字段后增加新内容

复制代码 代码如下:update table set user=concat(user,$user) where xx=xxx;...

php SQL Injection with MySQL

php SQL Injection with MySQL

前言   2003年开始,喜欢脚本攻击的人越来越多,而且研究ASP下注入的朋友也逐渐多了起来,我看过最早的关于SQL注入的文章是一篇99年国外的高手写的,而现在国外的已经炉火纯青了,国内...