-
mysqli_set_charset和SET NAMES使用抉择及优劣分析
本文为大家讲解的是mysqli_set_charset和SET NAMES使用抉择及优劣分析,感兴趣的同学参考下。 尽量使用mysqli_set_charset(mysqli:set_charset)而不是SET NAMES, 当然, 这个内容在PHP手册中也有叙及, 但是却没有解释为什么,接下来为您揭下神秘面纱 最近公司组织了个PHP安全编程的培训, 其中涉及到一部分关于Mysql的”SET NAMES”和mysql_set_charset (mysqli_set_charset)的内容: 说到, 尽量使用mysqli_set_charset(mysqli:set_charset)而不是”SET NAMES”, 当然, 这个内容在PHP手册中也有叙及, 但是却没有解释为什么. 最近有好几个朋友问我这个问题, 到底为什么? 问的人多了, 我也就觉得可以写篇blog, 专门介绍下这部分的内容了. 首先, 很多人都不知道”SET NAMES”到底是做了什么, 我之前的文章深入MySQL字符集设置中...
数据库操作教程 2014-12-29 12:33:04 -
php写的带缓存数据功能的mysqli类
本文是一个php写的带缓存数据功能的mysqli类,感兴趣的同学参考下。 <?php /** * Mysqli类 */ class db_mysqli { protected $mysqli; protected $sql; protected $rs; protected $query_num = 0; protected $fetch_mode = MYSQLI_ASSOC; protected $cache_dir = './cache/'; protected $cache_time = 1800; public function __construct($dbhost, $dbuser, $dbpass, $dbname) { $this->mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname); if(mysqli_connect_errno()) { $this->mysqli = false; echo '<h2>...
PHP 2014-12-29 05:39:03 -
PHP无法访问远程mysql的问题分析及解决方法
本文为大家讲解的是PHP无法访问远程mysql的问题分析及解决方法,感兴趣的同学参考下。 首先说明,远程服务器是可远程访问的,经过一番折腾最后想到了SELINUX的问题,对比了下AB两台机器,果然设置不一样!估计就是它的问题 我遇到的问题是这样的:有A,B,C三台服务器,C为服务器,B可以用PHP成功连接上C机器的mysql,而A机器则不能连接! 可以说,肯定不是代码有什么问题,服务器上的mysql设置也是没什么问题的,因为B机器都是可以的...
PHP 2014-12-28 18:30:07 -
mysql和php交互函数 PHP操作mysql函数详解
本文为大家讲解了一些PHP操作mysql函数详解,mysql和php交互函数总结,感兴趣的同学参考下。 1. 建立和关闭连接 1) mysql_connect() resource mysql_connect([string hostname [:port][:/path/to/socket][,string username] [,string password]]) 所有参数都是可选的 举例: @mysql_connect(“localhost”, “user”, “password”) or die(“Could not connect to mysql server!”); 注意,@符号表示禁止失败尝试导致的任何错误信息,用户将看到的是die()中指定的错误信息. 注意,当与多个mysql进行连接时,必须指定每个连接的链接ID,如下: $link1 = @mysql_connect(“server1″, “user&r...
PHP 2014-12-28 18:24:05 -
MySQL无法启动服务1037错误解决方法
本文为大家讲解的是安装好MySQL后无法启动服务报1037错误的解决方法,感兴趣的同学参考下。 问题描述 安装MySQL后服务一直无法启动,在services.msc中启动后报错:1037 检查错误日志文件WIN-01408110001.err: 2014-12-28 00:33:54 2c3c InnoDB: Error: unable to create temporary file; errno: 2 2014-12-28 00:33:54 11300 [ERROR] Plugin 'InnoDB' init function returned error. 2014-12-28 00:33:54 11300 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2014-12-28 00:33:54 11300 [ERROR] Unknown/unsupported storage engine: INNODB 2014-1...
数据库操作教程 2014-12-28 10:54:03 -
测试php连接mysql是否成功的代码
本文是一个测试php连接mysql是否成功的代码,感兴趣的同学参考下. 很多情况下我们不知道是php错误,还是mysql用户名密码不对导致cms运行错误,可以先用下面的代码测试一下就可以了 方法很简单: 将下面的代码保存为test.php,放到web目录里面执行即可。 <?php /** * 测试php与mysql连接 * 编辑:www.jbxue.com */ $link=mysql_connect("localhost","root","123"); if(!$link) echo "FAILD!连接错误,用户名密码不对"; else echo "OK!可以连接"; ?> 其中mysql_connect( )函数的参数依次为:mysql服务器名或IP、mysql用户名,mysql用户密码...
PHP 2014-12-28 07:12:03 -
php获取mysql数据库中的所有表名的代码
本文为大家讲解的是php获取mysql数据库中的所有表名的方法,感兴趣的同学参考下。 如何用PHP获取MYSQL数据库的所有表名?记得在mysql命令行下面有条命令SHOW TABLES是显示mysql数据库里面所有数据表的,那么就用这条命令来遍历数据表名吧 $server = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'dayanmei_com'; $conn = mysql_connect($server,$user,$pass); if(!$conn) die("数据库系统连接失败!"); mysql_select_db($dbname) or die("数据库连接失败!"); $result = mysql_query("SHOW TABLES"); while($row = mysql_fetch_array($result)) { echo $row[0]....
PHP 2014-12-28 02:39:03 -
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
本文是一个php实现的将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串,感兴趣的同学参考下。 php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!经过查找居然如此简单,一个函数就搞定了...
PHP 2014-12-27 13:51:12 -
PHP查询MySQL大量数据的时候内存占用分析
本文为大家讲解的是PHP查询MySQL大量数据的时候内存占用分析,感兴趣的同学参考下。 这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了? - while ($row = mysql_fetch_assoc($result)) { // ... } 当然, 这种问题有许多优化的方法. 不过, 就这个问题来讲, 我首先想到, MySQL是经典的C/S(Client/Server, 客户端/服务器)模型, 在遍历结果集之前, 底层的实现可能已经把所有的数据通过网络(假设使用TCP/IP)读到了Client的缓冲区, 也有另一种可能, 就是数据还在Server端的发送缓冲区里, 并没有传给Client. 在查看PHP和MySQL的源码之前, 我注意到PHP手...
PHP 2014-12-27 13:48:04 -
php mysql_real_escape_string函数用法与示例
本文为大家讲解的是php 的mysql_real_escape_string函数用法与示例,感兴趣的同学参考下. mysql_real_escape_string() 函数用来转义SQL语句中使用的字符串中的特殊字符 转义特殊字符在unescaped_string,考虑到当前字符的连接设置,以便它在的地方是安全的在mysql_query()它。如果二进制数据要插入,这个函数必须被使用 下列字符受影响: x00 n r ' " x1a 如果成功,则该函数返回被转义的字符串...
PHP 2014-12-27 13:24:04 -
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
本文为大家讲解的是PHP+Mysql实现多关键字与多字段生成SQL语句的函数,涉及字符串与数组的操作,是构造SQL语句非常实用的技巧,需要的朋友可以参考下 先看实例: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: SELECT * FROM `enter_gongyin_pic` WHERE `a` LIKE '%1%' OR `a` LIKE '%2%' OR `a` LIKE '%3%' OR `b` LIKE '%1%' OR `b` LIKE '%2%' OR `b` LIKE '%3%' OR `c` LIKE '%1%' OR `c` LIKE '%2%' OR `c` LIKE ...
PHP 2014-12-26 10:36:05 -
php数据入库前清理 注意php intval与mysql的int取值范围不同
本文为大家讲解的是php数据入库前清理 注意php intval与mysql的int取值范围不同,需要的朋友可以参考下。 php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval...
PHP 2014-12-26 07:03:03