首页 >后端开发 >php教程 >网站问题

网站问题

WBOY
WBOY原创
2016-06-23 14:25:54904浏览

数据库 服务器 php mysql

SQL文:$core_agency_sql="SELECT * FROM 'shop_info'".
用的是phpstudy,在本地可以运行成功,然后发布到服务器上提示Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource…………  百度了一下,基本上说是数据库字段写错或者表不存在或者SQL文问题,但是还是没有解决。补充:shop_info表是我往服务器原来的数据库中加的,代码是以前别人写的,用的也是phpstudy,但是不知道他是什么版本,我的是php 5.3.27,Apache 2.0.求教高手解答!谢谢。

回复讨论(解决方案)

线上连上Mysql数据库了嘛?

可能是:数据库文件没导入或者没导入完全

数据库表名,或者字段名书写有误

总的说来 还是没查到东西

想办法把执行query前的sql语句打印出来试试 说不定跟你写的sql不一样.

我在本地已经运行过了  所以表名什么的应该没有问题的  而且我也试过了 不是列名等问题

$config_sql = "SELECT * FROM ".DB_PREFIX."config LIMIT 1"  这是能成功运行的               $config_sql = "SELECT * FROM ".DB_PREFIX."shop_info"  这是我的     数据库文件我已经把服务器上的下载到本地试过了  没问题  然后又把本地的往服务器上传  结果还是不行        

echo出sql语句到页面,再用这个sql语句到数据库运行. 估计有可能是DB_PREFIX代表的值不同

Warning: mysql_fetch_array():代码行出错了。查看一下相关代码行。

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource……
中文解说:mysql_fetch_array()的参数不是一个有效的Mysql结果资源,或叫句柄,引用。

提供完整的代码,到底是哪句报错了。

是不是你输入的结果变量不对。。

不知道什么问题  还没有解决   然后现在又出了如下问题:

          其他的查询都是可以的   就是我刚才新加的那三个表的查询不可以。(下面这个是可以的)$config_sql = "SELECT * FROM ".DB_PREFIX."config LIMIT 1";
$config     = $db->fetch_first($config_sql);
if(!$config){
echo "Config Error!";
die();
}         以下是我的查询:$core_agency_sql="SELECT a.Shop_Name,a.Plat_Form,a.Http,a.Wireless_Http,a.RemoteEquip_Http,a.ImagePic,b.Province,b.City FROM ".DB_PREFIX."shop_info a".
" LEFT JOIN ".DB_PREFIX."area b ON a.Area_id=b.Area_id WHERE a.Del_Flag=0 ORDER BY b.Province,b.City";
$core_agency =$db->fetch_first($core_agency_sql); 我加了这个查询就出现  MySQL Error
Message: Can not connect to MySQL server
SQL:
Error: Lost connection to MySQL server at 'reading initial communication packet', system error: 111
Errno.: 2013   

从出错信息看,是MySQL的连接出了问题。能描述一下你的部署情况吗?

部署?我是新手  不知道具体说的是什么    捣鼓了半天-->把表重命名后往服务器上传 没有改什么代码 结果数据居然能查到了  但是新 的问题来了   我传上去33条数据  结果只检测出前两条  我把服务器上的数据库frm,MYD,MYI三个文件下载到本地  里面明明有33条数据的啊   我用的是 $core_agency_sql="SELECT * FROM jadz_huang";(这个表名是我重命名shop_info之后的)  $core_agency = mysql_query($core_agency_sql)or die("Config Error");
//循环遍历数据
while($shop_aray = mysql_fetch_array($core_agency,MYSQL_ASSOC)){
echo $shop_aray["shop_name"];     }           就这样  检测出两条  但是明明有33条的    这个解决了就差不多了    

花了两天时间 终于搞定了  可能是因为网速的原因 可能是别的原因   我重命名了表名  然后重新上传   现在终于可以检索到数据了    谢谢大家的帮忙   

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn