浅谈mysql_query()函数的返回值问题

问题描述:

我在操作mysql,插入数据时,关闭资源,PHP提示了一个warning。内容大致为,需要给mysql_free_result()一个资源类型。

然后,我将返回的结果var_dump($res),发现是bool值

分析:

看手册时,一眼看上去,觉得mysql_query()函数返回的本来就是资源类型,可是为什么现在又是bool值了呢?好吧,耐心看完手册,才发现,原理是这样的,如下图片:

总结:由上可以知道,mysql_query()执行sql语句时,并不是什么时候都要执行释放结果集,而是当某些操作产生了结果集,才调用mysql_free_result()释放;像insert   update这种返回bool值的就不需要了,否则画蛇添足

以上这篇浅谈mysql_query()函数的返回值问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 对于mysql的query_cache认识的误区

    其实,这一种说法是不完全正确的.首先第一点,mysql的query_cache的键值并不是简单的query,而是query加databasename加flag.这个从源码中就可以看出.在这里不做重点描述,后续可以针对于这一点再具体分析.重要的是第二点,是不是加了空格,mysql就认为是不同的查询呢?实际上这个是要分情况而言的,要看这个空格加在哪. 如果空格是加在query之前,比如是在query的起始处加了空格,这样是丝毫不影响query cache的结果的,mysql认为这是一条query,

  • 借助PHP的mysql_query()函数来创建MySQL数据库的教程

    以mysql_query()函数作为教程的基础前提,我们先来看一下mysql_query()的用法: mysql_query()函数 PHP MySQL 函数库中,mysql_query() 函数用于向 MySQL 发送并执行 SQL 语句. 对于没有数据返回结果集的 SQL ,如 UPDATE.DELETE 等在执行成功时返回 TRUE,出错时返回 FALSE:对于 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE. 语

  • 浅谈mysql_query()函数的返回值问题

    问题描述: 我在操作mysql,插入数据时,关闭资源,PHP提示了一个warning.内容大致为,需要给mysql_free_result()一个资源类型. 然后,我将返回的结果var_dump($res),发现是bool值 分析: 看手册时,一眼看上去,觉得mysql_query()函数返回的本来就是资源类型,可是为什么现在又是bool值了呢?好吧,耐心看完手册,才发现,原理是这样的,如下图片: 总结:由上可以知道,mysql_query()执行sql语句时,并不是什么时候都要执行释放结果集,

  • 浅谈在函数中返回动态的内存

    1.有以下题目: #include <iostream> using namespace std; void GetMemeory(char* p) { p=(char*)malloc(sizeof(char)*100); } int main() { char *str=NULL; GetMemeory(str); strcpy(str,"Thunder"); strcat(str,"Downloader"); printf(str); system(

  • 浅谈PHP的exec()函数无返回值排查方法(必看)

    在安全imagemagic时 需要用到 exec很多服务器上安装失败 exec()执行外部命令失败,但没有任何错误信息. exec执行某命令在命令行下没有问题,但是在php中就出错.这个问题99.99%与权限有关,但是exec执行的命令不会返回错误.一个技巧就是使用管道命令,假设你的exec调用如下: exec('convert a.jpg b.jpg', $output, $return_val); 可以更改如下: exec('convert a.jpg b.jpg 2>&1', $out

  • 浅谈JavaScript 函数参数传递到底是值传递还是引用传递

    在传统的观念里,都认为JavaScript函数传递的是引用传递(也称之为指针传递),也有人认为是值传递和引用传递都具备.那么JS的参数传递到底是怎么回事呢?事实上以下的演示也完全可以用于Java 首先来一个比较简单的,基本类型的传递: function add(num){ num+=10; return num; } num=10; alert(add(num)); aelrt(num); //输出20,10 对于这里的输出20,10,按照JS的官方解释就是在基本类型参数传递的时候,做了一件复制

  • 浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序

    在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function('x','alert(x);') // 由Function构造函数的参数个数可变.最后一个参数写函数体

  • 浅谈JavaScript函数的四种存在形态

    函数的四种存在形态: 1.函数形态 2.方法形态 将函数赋值给某一个对象的成员,那么就称为方法 3.构造器形态 4.上下文形态 1.函数形态: var foo = function() { alert(this); //this是window }; 2.方法形态: o = {}; o.foo = foo; //将函数foo赋值给对象o的foo属性 o.foo(); //弹出的是object,此时的this表示object var lib = { test:function() { alert(t

  • 浅谈function(函数)中的动态参数

    我们可向函数传递动态参数,*args,**kwargs,首先我们来看*args,示例如下: 1.show(*args) def show(*args): print(args,type(args)) #以元组的形式向列表传递参数 show(11,22,33,44,55,66) 首先我们定义了一个函数,函数show(*args)里面的*args可以接收动态参数,这里我们接收一个元组形式的参数,我们可以向show()里面传递很多参数,函数默认把这些参数作为一个元组进行接收. 2.show(**arg

  • 浅谈DataFrame和SparkSql取值误区

    1.DataFrame返回的不是对象. 2.DataFrame查出来的数据返回的是一个dataframe数据集. 3.DataFrame只有遇见Action的算子才能执行 4.SparkSql查出来的数据返回的是一个dataframe数据集. 原始数据 scala> val parquetDF = sqlContext.read.parquet("hdfs://hadoop14:9000/yuhui/parquet/part-r-00004.gz.parquet") df: or

  • 浅谈MySQL函数

    目录 1.数学函数 2.字符串函数 3.日期函数 4.加密函数  主要MySQL函数介绍又以下: 数学函数 字符串函数 时间函数 加密函数 1.数学函数 注意: 每个函数前面都需要加 : SELECT . 数学函数 ABS() 返回绝对值 如: (-100) 值 : 100 PI() 返回Π的圆规率 如 (不用写) 值 : 3.1415926 CEIL() 向上取整数 如:(3.14) 值 :4 ( 注意第三个是i ) FLOOR() 向下取整数 如: (3.14) 值 :3 POW(x,y)

  • Python 详解基本语法_函数_返回值

    Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令函数与函数之间,函数与主程序之间更加紧密的联系起来. 函数的返回值 在Python的函数中都有一个返回值,默认为None.也可以使用return value语句来定义一个且只能定义一个可为任意类型的返回值.但是我们能够返回一个序列类型的对象,来实现返回多个值的效果. Example: 返回一个Lis

随机推荐