您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

为什么执行插入sql语句,echo就失效了

2024/3/16 7:13:16发布23次查看
我执行插入语句的方法是
function execute_data($sql){ $result = @mysql_query($sql) or die(mysql_error()); @mysql_free_result($result) or die(mysql_error()); return $result; }
$sql = insert into test(name) values('$name'); if(execute_data($sql)) { echo 'ok';}
这样的,我这样插入语句是已经执行了, 已经插入到数据库的表中,但是echo却没有输出到网页上。。是什么原因?
用其他方法执行查询语句的话 echo可以输出到网页上。
执行查询语句的方法
function get_js_array($sql){ $result = @mysql_query($sql) or die(mysql_error()); $arr = array(); while($row = @mysql_fetch_array($result, mysql_assoc)){ $arr[] = $row; } $js = json_encode($arr); mysql_free_result($result); return $js; }
回复讨论(解决方案) 函数execute_data的返回值$result被函数mysql_free_result释放掉了返回出去就是null了吧
把$result打印出来看看是不是为假
把$result打印出来看看是不是为假
不为假吧。  我都成功插入了。  只是echo输出不出来。 mysql_free_result
你都释放掉了还有返回?
mysql_query($sql) 对于 insert 指令只返回逻辑值
因此 mysql_free_result($result) 会报错:$result 不是有效的资源
但是你屏蔽了 php 错误信息,而 die(mysql_error()) 只是终止程序,因为 sql 指令并没有错(mysql_error() 返回空串)
mysql_query($sql) 对于 insert 指令只返回逻辑值
因此 mysql_free_result($result) 会报错:$result 不是有效的资源
但是你屏蔽了 php 错误信息,而 die(mysql_error()) 只是终止程序,因为 sql 指令并没有错(mysql_error() 返回空串)
那我有什么办法可以让他输出出来吗? 注释掉 @mysql_free_result($result) or die(mysql_error()); 这句
注释掉 @mysql_free_result($result) or die(mysql_error()); 这句
谢谢,解决了!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product