Getting Error Parse error: syntax error, unexpected '$_GET' (T_VARIABLE)

Getting Error Parse error: syntax error, unexpected '$_GET' (T_VARIABLE)

我正在制作一个页面,在第 1 页上我从 mysql 获取数据,然后单击该名称我将重定向到另一个页面,即显示完整详细信息的第 2 页。 请帮忙 ! 这是第 1 页的 php 代码

            $host="localhost"; // Host name 
            $username="root"; // Mysql username 
            $password=""; // Mysql password 
            $db_name="testmra"; // Database name 
            // Connect to server and select databse.
            $conn=mysqli_connect($host,$username,$password) or die("cannot connect"); 
            mysqli_select_db($conn,$db_name);
            $result = mysqli_query($conn,"SELECT name,COUNT(status_id) AS Count from bookingdetails WHERE  YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = MONTH(CURDATE()) AND status_id='2' GROUP BY name");
            echo "<table border='1' style='border:black;'>
                <tr>
                    <!--<th id='td'>Sr No.</th>-->
                    <th id='td'>Name</th>   
                    <th id='td'>No. of Bookings Done</th>
                </tr>";
            while($row = mysqli_fetch_array($result))
            {
                echo "<tr>";

                        echo "<td align='center' id='td'><a href='Details.php'>" . $row['name'] . "</a></td>";
                        echo "<td align='center' id='td'>" . $row['Count'] . "</td>";
                echo "</tr>";
            }
            echo "</table>";
            mysqli_close($conn);
        ?>

Page 2 
<?php

            $host="localhost"; // Host name 
            $username="root"; // Mysql username 
            $password=""; // Mysql password 
            $db_name="testmra"; // Database name 
            // Connect to server and select databse.
            $conn=mysqli_connect($host,$username,$password) or die("cannot connect"); 
            mysqli_select_db($conn,$db_name);
            $name=(varchar) $_GET['name'];
            $result = mysqli_query($conn,"SELECT * from bookingdetails WHERE  YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = MONTH(CURDATE()) AND status_id='2' AND name='$name'");
            echo "<table border='1' style='border:black;'>
                <tr>
                    <th id='td'>Room</th>   
                    <th id='td'>Name</th>
                    <th id='td'>Purpose</th>
                    <th id='td'>Attendee</th>
                    <th id='td'>Date</th>
                    <th id='td'>Start Time</th>
                    <th id='td'>End Time</th>
                </tr>";
            while($row = mysqli_fetch_array($result))
            {
                echo "<tr>";

                        echo "<td align='center' id='td'>" . $row['room'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['name'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['purpose'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['attendee'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['date'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['starttime'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['endtime'] . "</td>";
                echo "</tr>";
            }
            echo "</table>";
            mysqli_close($conn);
        ?> 

不需要类型转换$name=(varchar) $_GET['name'];

只需使用:$name= $_GET['name'];

您还需要在查询字符串中添加相同的参数

echo "<td align='center' id='td'><a href='Details.php?name=" . $row['name'] . "'>" . $row['name'] . "</a></td>";

更改第 1 页中的以下行

 echo "<td align='center' id='td'><a href='Details.php'>" . $row['name'] . "</a></td>";

 echo "<td align='center' id='td'><a href='Details.php?name=" . $row['name'] . "'>" . $row['name'] . "</a></td>";

第 2 页

(varchar) $_GET['name']

$_GET['name']

您需要删除 (varchar) 类型转换。不需要这样做,varchar 也是 MySQL 中的数据类型,而不是 PHP。

我会添加一些验证以确保您的 $_GET 设置为防止未定义的索引错误,如果类型转换不存在就会抛出这些错误,因为您的 URL 在第一页。

您只需要检查是否设置了 GET。你可以这样做

$name=isset($_GET['name'])? $_GET['name'] : '' ;

and check if you are passing name in the url by get method .

如果您使用此 link 进入第 2 页。

echo "<td align='center' id='td'><a href='Details.php'>" . $row['name'] . "</a></td>";

然后将其更改为。将名称作为 get 方法传递

echo "<td align='center' id='td'><a href='Details.php?name=".$row['name']."'>" . $row['name'] . "</a></td>";

因此您在第 2 页上的代码将

<?php

            $host="localhost"; // Host name 
            $username="root"; // Mysql username 
            $password=""; // Mysql password 
            $db_name="testmra"; // Database name 
            // Connect to server and select databse.
            $conn=mysqli_connect($host,$username,$password) or die("cannot connect"); 
            mysqli_select_db($conn,$db_name);
            $name=isset($_GET['name'])? $_GET['name'] : '' ;
            $result = mysqli_query($conn,"SELECT * from bookingdetails WHERE  YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = MONTH(CURDATE()) AND status_id='2' AND name='$name'");
            echo "<table border='1' style='border:black;'>
                <tr>
                    <th id='td'>Room</th>   
                    <th id='td'>Name</th>
                    <th id='td'>Purpose</th>
                    <th id='td'>Attendee</th>
                    <th id='td'>Date</th>
                    <th id='td'>Start Time</th>
                    <th id='td'>End Time</th>
                </tr>";
            while($row = mysqli_fetch_array($result))
            {
                echo "<tr>";

                        echo "<td align='center' id='td'>" . $row['room'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['name'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['purpose'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['attendee'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['date'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['starttime'] . "</td>";
                        echo "<td align='center' id='td'>" . $row['endtime'] . "</td>";
                echo "</tr>";
            }
            echo "</table>";
            mysqli_close($conn);
        ?> 

或者你应该把整个代码放在

这样的条件下
if(isset($_GET['name']))
{
  // your code here 
}