0
<?php
$username = "username";
$password = "password";
$hostname = "localhost";
$database = "database";

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
  or die("Unable to connect to MySQL");

$selected = mysql_select_db($database,$dbhandle)
  or die("Could not select database");


    $id = 0;
    if(isset($_GET['Day'])){ $id = (int)$_GET['Day']; }

    if(!$id){
        $query = "SELECT * FROM `TimeTable`";
    } else {
        $query = "SELECT * FROM `TimeTable` WHERE `Day`='".$id."'";
    }
    $result = mysql_query($query);
    $rows = array();
    while($r = mysql_fetch_assoc($result)) {
        $rows[] = $r;
    }
or die(mysql_error());
    print json_encode($rows);
?>

此代码以前有效,但现在已停止,并且正在产生Parse 错误:语法错误,第 27 行 /Directory/TimeTable.php 中的意外 T_LOGICAL_OR

我还希望添加更多参数,(例如: Where Day= $id 和Year= $Year )

4

2 回答 2

0

我查找了新的 mysql 函数并已更改为 mysqli。

<?php
$username = "username";
$password = "password";
$hostname = "localhost";
$database = "database";

    $link = mysqli_connect($hostname, $username, $password, $database);
    if(mysqli_connect_errno()){
        echo mysqli_connect_error();
        }
    $id= 0;
    if(isset($_GET['Day'])){ $id=(int)$_GET['Day']; }
    $year = 0;
    if(isset($_GET['Year'])){ $year=(int)$_GET['Year'];}

    if(!$id){
    $query = "SELECT * FROM TimeTable";
    } else {
        if (!year) {
        $query = "Select * FROM TimeTable";
    } else {
        $query = "SELECT * FROM TimeTable WHERE Day=$id AND Year=$year";
        }
    }

    $rows = array();
    //Perform JSON encode
    if($result = mysqli_query($link, $query)){
        while($r = mysqli_fetch_assoc($result)){
            $rows[] = $r;
        }
    }
    print json_encode($rows);
?>
于 2013-09-18T07:30:04.683 回答
0
 while($r = mysql_fetch_assoc($result)) {
    $rows[] = $r;
}
or die(mysql_error());

这是一个语法错误,不知道如何处理该语句或 die() 语句。改成这样:

$result = mysql_query($query);
if (!$result) {
    die('Error');
}
while(...) {
}
于 2013-09-12T00:32:24.230 回答