ホームページ  >  記事  >  バックエンド開発  >  appcan 開発プロンプトの構文エラー、予期しない ']'、T_STRING または T_VARIABLE または T_ が必要です

appcan 開発プロンプトの構文エラー、予期しない ']'、T_STRING または T_VARIABLE または T_ が必要です

WBOY
WBOYオリジナル
2016-06-20 12:54:531744ブラウズ
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


  
     <br>     
    
    
    
    
    
    
    
    
    

    

    
    
  





  
 



     

 





<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);

プロンプト エラー: 構文エラー、予期しない ']'、T_STRING が必要ですまたは D:WWWserver.php の 17 行目の T_VARIABLE または T_NUM_STRING

解決してください。 ! !
表示したい結果は






ディスカッションへの返信 (解決策)

私はこの問題に取り組んでいます数日間、私は初心者です、アドバイスをください

$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 tid=".$Id.";



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


変更はありません。何が問題ですか?

型変換エラーだと言う人もいますが、どうすれば変更できるのでしょうか?

最初の場所: $sql = "SELECT Id,Bookname,Pubdate,Author FROM td_book where tid=".$Id. ";

最後のものは二重引用符です。明らかに文法的ではありません。引用符を除いて、引用符はペアで使用する必要があるためです。
あなたが彼のパートナーを誘拐したので、彼はあなたを泣かせるでしょう

2 位:

'tid'= > $row['Id'] ',
一重引用符内の単一引用符および二重引用符内の二重引用符はエスケープする必要があります。エスケープしないと、php は引用符で囲まれている内容を認識できません。
一重引用符内の単一引用符 変数はエスケープされません。

モデレータ、この問題が再び発生します。
警告: mysql_fetch_array() はパラメータ 1 がリソースであることを期待しており、D :WWWserver.php の 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'],
);
}

null として実行される if(is_resource($query)){} を追加しました
どういう意味ですか?明らかにデータベースにデータがあります

本当に泣きそうです

$query = mysql_query($sql) or die(mysql_error())

見てください 何が問題ですか


データベースが選択されていません

$mysql_server_name = "root";

$mysql_password = "123456 "; 🎜> DEFINE('mysql_database','tyshichang');
$mysqldb = mysql_connect($mysql_server_name,$mysql_username,$mysql_password);

DEFINE('conn',$mysqldb);名前を設定します utf8');

if(!conn){

echo ('{"ステータス":"not db"}');

<🎜; > 上記は Config.php


server.php

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

リンクがないのはなぜですか?



データベースが選択されていません データベースが選択されていません Config.php で mysq_select_db 関数の使用が見つかりません

データベースが選択されていません。mysql_select_db("tyshichang " ); この文。

動作するのですが、表示されたページが文字化けしています

文字化けの原因が分かりました、修正しました、ありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。