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.求教高手解答!谢谢。数据库服务器phpmysql

解决方案 »

  1.   

    总的说来 还是没查到东西想办法把执行query前的sql语句打印出来试试 说不定跟你写的sql不一样.
      

  2.   

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

  3.   

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

  4.   

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

  5.   

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

  6.   

              其他的查询都是可以的   就是我刚才新加的那三个表的查询不可以。(下面这个是可以的)$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   
      

  7.   

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

  8.   

    部署?我是新手  不知道具体说的是什么    捣鼓了半天-->把表重命名后往服务器上传 没有改什么代码 结果数据居然能查到了  但是新 的问题来了   我传上去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条的    这个解决了就差不多了