PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

网站问题

原创
2016-06-23 14:25:54 657浏览

数据库 服务器 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核实处理。