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
}
我正在制作一个页面,在第 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
}