欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

网站问题

程序员文章站 2022-05-18 13:30:09
...
数据库 服务器 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条的 这个解决了就差不多了

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

相关标签: 网站问题