appcan开发提示错误syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_

php中文网
发布: 2016-06-20 12:54:53
原创
2016人浏览过
1server.php
date_default_timezone_set("Asia/Shanghai");
header("Content-Type: text/html; charset=utf-8");
require_once("Config.php");
?>


 $request = $_GET['jsoncallback']; 

//sql查询语句
$sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id.";
$query = mysql_query($sql);
//给Json数组赋值
while($row=mysql_fetch_array($query))
{
$demoData[]=array( 
'tid'=>'$row['Id']',
'subject'=>$row['Bookname'],
'dateline'=>$row['Pubdate'],
'author'=>$row['Author'],
);
}

//让Json支持中文UTF-8编码
class Json{

    public static function encode($str){

        $code = json_encode($str);

        return preg_replace("#\u(([0-9a-f]+?){4})#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\1'))", $code);

    }

    public static function decode($str){

        return json_decode($str);

    }

}

//json数据返回客户端
echo $request.'('.json_encode($demoData).')'; 
//关闭数据库
exit;
?>

2页面html
nbsp;html>

  
     <br>     
    
    
    
    
    
    
    
    
    

    <script></script>
<script></script>
    <script></script>
    <script></script>
  





  
 



 

     

 


<script></script>
<script></script>
<script></script>
<script> <br /> zy_init(); <br /> window.uexOnload=function(type) <br /> { <br /> if(!type){ <br /> } <br /> getBookList(); <br /> } <br /> <br /> </script>


3book.js

/**
 * 客户端与服务器端数据交互示例
 * 
 * 
 */

/**
 * 服务器地址
 */
var bookHost = "http://localhost:1000/server.php?jsoncallback=?";

/**
 * js端base64实例化
 */
var b64 = new Base64();


/**
 * 网络请求中转函数
 * 
 * @param {Object} url  服务器请求地址
 * @param {Object} callback     回调函数
 */
function xmlHttp(url,callback){
    if(url == ''){
        uexWindow.alert('参数错误','请求地址不能为空!','返回');
    }else{
        $.getJSON(url,callback);
    }
}

/**
 * 获取帖子列表
 */
function  getBookList(){
    uexWindow.toast("1","5","数据加载中…","0");
    
    var url = bookHost;
    xmlHttp(url,showList);
}

/**
 * 回调函数,用于处理服务器端返回的帖子数据,显示在客户端上
 * @param {Object} items    服务器端返回的json数据
 */
function showList(items){
    var forumObj = $("#book_list");
    forumObj.html('');
    
    for(var i in items){
        var item = items[i];
        
        var tr = '';
        var trHeader = '
';
        var trTitle = '
'+b64.decode(item.subject)+'
';
        var trOtherInfo = '
'+b64.decode(item.dateline)+' '+b64.decode(item.author)+'
';
        var trFooter = '
';
        tr = trHeader+trTitle+trOtherInfo+trFooter;
        forumObj.append(tr);
    }
    uexWindow.closeToast();
}



提示错误
Parse error: syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:WWWserver.php on line 17

求解!!!
我想显示的结果是

挖错网
挖错网

一款支持文本、图片、视频纠错和AIGC检测的内容审核校对平台。

挖错网 28
查看详情 挖错网

回复讨论(解决方案)

这个问题我搞了好几天,我是菜鸟,求各位指点一下

$sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id.";

'tid'=>'$row['Id']',

$sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id.";

'tid'=>'$row['Id']',



大神,改哪?

 $sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id.";


 $sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id.";



没改动啊,哪里有问题呢



有人说是类型转换错误,但要怎么改动?

第一处:
$sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id. ";
最后是一个双引号,显然是不合语法的,因为除了在引号中,引号必须成对出现
现在你把他的伴侣拐跑了,他就要让你哭了

第二处:
'tid'=> '$row['Id'] ',
单引号中的单引号和双引号中的双引号,都必须转义,否则 php 不知道引号括起了什么
单引号中的变量不会被取值,显然你这也不符合业务需求

版主大人,又出现这种问题了
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:WWWserver.php on line 16

//sql查询语句

$sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id."";
$query = mysql_query($sql);
//给Json数组赋值
while($row = mysql_fetch_array($query))
{
$demoData[]=array( 
"tid"=>$row['Id'],
"subject"=>$row['Bookname'],
"dateline"=>$row['Pubdate'],
"author"=>$row['Author'],
);
}

加了一个if(is_resource($query)){},运行为null
什么意思,数据库里面明明有数据的

我真的快哭了

$query = mysql_query($sql)  or die(mysql_error()) ;
就看到哪儿不对了

No database selected

$mysql_server_name = "localhost";
$mysql_username = "root";
$mysql_password = "123456";
DEFINE('mysql_database','tyshichang');
$mysqldb = mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
DEFINE('conn',$mysqldb);
mysql_query('set names utf8');
if(!conn){
  echo ('{"Status":"not db"}');
  };
?>

上面是Config.php

server.php
date_default_timezone_set("Asia/Shanghai");
header("Content-Type: text/html; charset=utf-8");
require_once("Config.php");
?>

怎么会没链接呢

No database selected 没有选择数据库
在你的 Config.php 中并没有看到 mysq_select_db 函数的使用

你没选择数据库,少了mysql_select_db("tyshichang"); 这一句。

可以了,但是显示页面有乱码

我知道为什么有乱码了,改好了,太感谢你们了

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号