php 提示Warning: mysql_fetch_array() expects

 更新时间:2016年11月25日 17:38  点击:1865
在mysql数据库连接时碰到Warning: mysql_fetch_array() expects ...错误提示,根据我的经验这个是sql返回的query为空了,我们没有加己判断直接使用了mysql_fetch_array()函数导致的下面我们一起来看问题解决方案。

我的高度代码如下

include("conn.php");

if(!empty($_GET['id'])){
         $sql="select * from news where `id`='".$_GET['id']."'";
         $query=mysql_query($sql);
         $rs = mysql_fetch_array($query);     
}

提示错误了

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in F:xmappwww.111cn.netmylibrarysearch_result.php on line 32

后来我对代码进行升级

if(!empty($_GET['id'])){
         $sql="select * from news where `id`='".$_GET['id']."'";
         $query=mysql_query($sql);
if( mysql_num_rows( $query )
{
         $rs = mysql_fetch_array($query);  
}
else
{
mysql_error();
}  
}

这样就会看到mysql错误信息了,结果是sql语句有问题了,把sql语句进行修改就可以了,

一聚教程小编提示你,导致这类错误是我们语法不规范了,如果要处理只有对sql进行一条条输出处理或在mysql_query(sql) or die(mysql_error()) 这样来处理 本站原创转载必须注明来源http://www.111cn.net/phper/php.html 

本文章来给各位朋友分析关于使用strtotime和mktime时参数为0时返回1999-11-30的时间戳问题解决方法,希望本文章对大家会有所帮助。

先看例子

 代码如下 复制代码

<?php
$time = date('Y-m-d',strtotime('00-00-00 00:00:00'));
echo $time;
//输出 1999-11-30
?>

这里没有任何bug,00-00-00的意思是2000-00-00,2000-00-00实际上是1999-12-00,而1999-12-00又会转换成1999-11-30。
所以这里没有任何bug,完全正常。

strtotime('00-00-00 00:00:00')与 mktime(0,0,0,0,0,0) 是完全等价的。

//int mktime(时, 分, 秒, 月, 日, 年)
echo mktime(0,0,0,0,0,0);
mktime() 函数用于从日期取得时间戳,成功返回时间戳,否则返回 FALSE 。

输出 943920000

使用iis+php环境经常会碰到iis php提示An error occurred on the server when processing the URL错误了,但是在php官网也找不到很好的解决办法。

在几天前帮朋友处理网站搬家后出现的MSSQL数据库链接问题,后来我把它的代码在本地搭建环境测试就发现一个ASP的问题并此解决了,也帮助我朋友解决了问题。所以今天给大家讲下ASP出现的一个错误,虽然ASP的程序已经很少人使用了,但是还是不少的。

  好的,进入我们的主题,首先我们先了解下演示的环境。首先我使用的是Windows 7 旗舰版 32bit 和IIS7.5 的版本。程序是使用了一个简单的CMS系统,语言:ASP。

An error occurred on the server when processing the URL. Please contact the system administrator.

出现的错误是:
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.

  其实解决这个问题很简单,今天就把它当一节课与大家讲讲。

第一步:启动IIS,打开该站点。在【功能视图】的列表中找到【ASP】

第一步:启动IIS,打开该站点。在【功能视图】的列表中找到【ASP】

第二步:找到【将错误发送到浏览器】的值修改为【True】并应用。

第二步:找到【将错误发送到浏览器】的值修改为【True】并应用。

如果你修改之后,直接预览再看效果。估计是不行的,因为还没有设置好。

Active Server Pages 错误 'ASP 0131'

出现的错误如下
Active Server Pages 错误 'ASP 0131'
不允许的父路径
/admin/login.asp,行 1
包含文件“../Inc/Const.Asp”不能用“..”表示父目录。

 

第三步:这时候我还要设置下【启用父路径】,同样设置为【True】并应用

第三步:这时候我还要设置下【启用父路径】,同样设置为【True】并应用

再看下效果如何吧?

完成

  顺便也在这里解释下,而我根据我理解来介绍呢,简单来说呢?将错误发送到浏览器就是把程序错误信息不用友好的方式展现出来,主要是为了方便调试;启用父路径而是代码中出现了“...”等的路径方式,跟Windows权限继承是一样的。下面内容来自微软官方说明:
将错误发送到浏览器 [scriptErrorSentToBrowser]:
指定 Web 服务器除了将调试详细信息(文件名、错误、行号、描述)记录到 IIS 请求日志中以外,是否还将其写入客户端浏览器。默认值为 True。
启用父路径 [enableParentPaths]:
指定 ASP 页是否允许相对于当前目录的路径(使用“...”表示法),即当前目录之上的路径。默认值为 False。

Tisp:
1.如果浏览器打开任何网站出现问题,可以把IE的【显示友好http错误信息】不要打勾启用来查看此网站的错误信息。

显示友好http错误信息

2.虚拟主机空间的用户可以让服务商来解决此问题。

在php 中dirname() 函数返回路径中的目录部分,__FILE__而当前运行文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。这是一个魔法变量(预定义常量),在windows中没有问题但在linux中路径出现的问题,下面我们一起来看看路径问题解决方法。

近期在给wordpress开发模板功能时发现,直接使用include(“文件名”)的形式调用其他php代码片段时会出现路径错误。之前服务器环境一直都是iis,未曾出现过类似的BUG,但换成linux服务器后便出现了路径调用错误。在网上搜寻了一番,发现可以在调用时使用dirname(__FILE__)来解决linux服务器下包含文件时的路径错误。

其实主要问题来自于linxu服务器下的站点根目录问题,在linux服务器下包含某个文件时,其路径为/home/web/。如果直接使用include(“/文件名”)的格式,则实际上包含的文件路径为/home/web/文件名。

完整的使用方法为include dirname(__FILE__) . ‘/page.php’

这段代码引用的文件需要与代码所在文件处于同一目录,如果需要调用上一层目录可以使用dirname(dirname(__FILE__))来调用上一层目录的文件。

如果大家在网站更换服务器后遇到包含类问题时,不妨检查一下网站是否有引用路径的错误。建议在书写php包含时就使用dirname(__FILE__)的方法引用文件,以解决多数情况下的引用问题。

有不少喜欢尝新的朋友会碰服务器安装php5.4版本之后dedecms5.7登录后面一篇白茫茫的啊,像下雪一样哦,下面我们来看dedecms后台登录空白问题问题办法。

linux,php5.4, 织梦dedecms后台登录空白,原因:

include/userlogin.class.php,里面有一个keepuser()函数,是用session_register来注册一个session变量,但是在php5.4中已经移除了这个功能

 代码如下 复制代码

把@session_register($this->keepUserIDTag);    注释掉,然后改为
if (!isset($_SESSION[$this->keepUserIDTag]))

如下:
if (!isset($_SESSION[$this->keepUserIDTag]))
//@session_register($this->keepUserIDTag);

我的修改前与修改后的代码


解决方法:找开include/userlogin.class.php文件,查找以下内容:

 代码如下 复制代码

@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;
@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;
@session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;
@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
@session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);
PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);

替换成

global $admincachefile,$adminstyle;
if(empty($adminstyle)) $adminstyle = ‘dedecms’;
//@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag;
$_SESSION[$this->keepUserIDTag] = $this->userID;
//@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag;
$_SESSION[$this->keepUserTypeTag] = $this->userType;
// @session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag;
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
//@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag;
$_SESSION[$this->keepUserNameTag] = $this->userName;
//@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag;
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
// @session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag;
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);
PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);

[!--infotagslink--]

相关文章

  • MySQL性能监控软件Nagios的安装及配置教程

    这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下...2015-12-14
  • php错误提示 open_basedir restriction in effect 解决

    今天在帮助一个朋友配置一台服务器时发现网站配置好了缓存目录读写不成功,在打开错误时发现提示 Warning: file_exists() [function.file-exists]: open_basedir restr...2016-11-25
  • 详解Mysql中的JSON系列操作函数

    新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作,下面就实际体验一下...2016-08-23
  • node.js如何操作MySQL数据库

    这篇文章主要介绍了node.js如何操作MySQL数据库,帮助大家更好的进行web开发,感兴趣的朋友可以了解下...2020-10-29
  • 深入研究mysql中的varchar和limit(容易被忽略的知识)

    为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题。 ...2015-03-15
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • 解决Antd Table表头加Icon和气泡提示的坑

    这篇文章主要介绍了解决Antd Table表头加Icon和气泡提示的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • mysql的3种分表方案

    一、先说一下为什么要分表:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1...2014-05-31
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
  • mysql提示Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64的解决

    在windows下安装Mysql系统日志出现max_open_files: 2048 max_connections: 510 table_cache: 764 类似错误是因为 max_connections 最大连接数和max_open_files、table_cache 不匹配。适当的降低max_connections 或调...2014-05-31
  • Centos5.5中安装Mysql5.5过程分享

    这几天在centos下装mysql,这里记录一下安装的过程,方便以后查阅Mysql5.5.37安装需要cmake,5.6版本开始都需要cmake来编译,5.5以后的版本应该也要装这个。安装cmake复制代码 代码如下: [root@local ~]# wget http://www.cm...2015-03-15
  • 用VirtualBox构建MySQL测试环境

    宿主机使用网线的时候,客户机在Bridged Adapter模式下,使用Atheros AR8131 PCI-E Gigabit Ethernet Controller上网没问题。 宿主机使用无线的时候,客户机在Bridged Adapter模式下,使用可选项里唯一一个WIFI选项,Microsoft Virtual Wifi Miniport Adapter也无法上网,故弃之。...2013-09-19
  • 忘记MYSQL密码的6种常用解决方法总结

    首先要声明一点,大部分情况下,修改MySQL密码是需要有mysql里的root权限的...2013-09-11
  • MySQL数据库备份还原方法

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:/Program Files/MySQL/MySQL Server 4.1/bin (或者直接将windows的环境变量path中添加该目录) ...2013-09-26
  • Mysql命令大全(详细篇)

    一、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql/bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密...2015-11-08
  • Navicat for MySQL 11注册码\激活码汇总

    Navicat for MySQL注册码用来激活 Navicat for MySQL 软件,只要拥有 Navicat 注册码就能激活相应的 Navicat 产品。这篇文章主要介绍了Navicat for MySQL 11注册码\激活码汇总,需要的朋友可以参考下...2020-11-23
  • mysql IS NULL使用索引案例讲解

    这篇文章主要介绍了mysql IS NULL使用索引案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-08-14
  • RHEL6.5编译安装MySQL5.6.26教程

    一、准备编译环境,安装所需依赖包yum groupinstall 'Development' -y yum install openssl openssl-devel zlib zlib-devel -y yum install readline-devel pcre-devel ncurses-devel bison-devel cmake -y二、编译安...2015-10-21
  • 基于PostgreSQL和mysql数据类型对比兼容

    这篇文章主要介绍了基于PostgreSQL和mysql数据类型对比兼容,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-25
  • Mysql中 show table status 获取表信息的方法

    这篇文章主要介绍了Mysql中 show table status 获取表信息的方法的相关资料,需要的朋友可以参考下...2016-03-12