我有一个数据库,由8个表组成。我正在将我的PHP代码与我的数据库链接,现在我想要做的是加入两个独立表的两列并在我的php页面中一起显示它们。但每当我执行我的页面时,它都不提供任何输出。它完全是空的。请帮助我。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>SlickRed | florida web design</title>
</head>
<body>
<?php
session_start();
$connection = mysql_connect('localhost','root','');
if(!$connection){
die("Database Connection Failed". mysql_error());
}
$select_db = mysql_select_db('hamdard_attendance');
if(!$select_db){
die("Database Connection Failed" . mysql_error());
}
if(isset($_POST['username']) && isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
$query_one = "SELECT * FROM users WHERE user_name = '".$username."' AND user_pass = '".$password."'";
$result = mysql_query($query_one) or die(mysql_error());
$count = mysql_num_rows($result);
if ($count == 1){
$_SESSION['username'] = $username;
}else{
echo "Invalid Login Credentials.";
}
}
if (isset($_SESSION['username'])){
$username = $_SESSION['username'];
}
?>
<div id="container">
<div id="header">
<h1 style="text-align:left">Quality Management<span class="off"> Cell</span></h1>
</div>
<div id="menu">
<ul>
<li class="menuitem"><a href="#">Home</a></li>
<li class="menuitem"><a href="#">Attendance</a></li>
<li class="menuitem"><a href="#">Courses</a></li>
<li class="menuitem"><a href="#">Settings</a></li>
</ul>
<a style="text-align:right" href="#">Logout</a>
</div>
</div>
<div id="content">
<div id="content_top"></div>
<div id="content_main">
<?php echo "<h2> Welcome ".$username."</h2>"?>
<?php
if(isset($_POST['stdnt_name']) && isset($_POST['course_name']) && isset($_POST['stdnt_rfid_tag']) && isset($_POST['student_id']) && isset($_POST['course_id'])){
$username = $_POST['stdnt_name'];
$password = $_POST['course_name'];
$username = $_POST['stdnt_rfid_tag'];
$password = $_POST['student_id'];
$username = $_POST['course_id'];
$query_two = " SELECT s.stdnt_name, c.course_name FROM students s INNER JOIN student_courses sc ON s.stdnt_rfid_tag = sc.student_id INNER JOIN courses c ON sc.course_id = c. course_id";
$result_attendance = mysql_query($query_two) or die(mysql_error());
while($row = mysql_fetch_array($result_attendance)){
echo $row[1]." ".$row[2]."<br/ >";
}}
?>
<p> </p>
<p> </p>
<div id="content_bottom"></div>
<div id="footer"><h3><a href="http://www.bryantsmith.com">florida web design</a></h3></div>
</div>
</div>
</body>
</html>
答案 0 :(得分:0)
你说:«但每当我执行我的页面时,它都不会提供任何输出。» 这是关键词! 即使你有错误的SQL问题,这个脚本必须至少产生中间提到的DIV。
您要做的第一件事就是了解浏览器是否有任何回复。 例如。使用Chrome,按F12,然后转到Nenwork标签。然后按F5并注意状态。是(好)200?
如果是500 - 使用命令行执行脚本以找出php语法错误。
php -af yourscript.php
也可以看到脚本根本没有响应(挂起)。在这种情况下要注意mysql_connect('localhost','root','');
这条线理论上可能会挂起脚本,这取决于你的apache和浏览器配置,等待超时的时间。
<强> PS 强>
无论问题是什么,当您将从用户接收的文本连接(插入)到SQL代码中时,您都会做一些危险的事情。更多地了解变量绑定和mysql_real_escape_string
函数。实际上你的代码存在sql-injection的风险。