我尝试从student_details表中获取一个id详细信息,我使用$ _get从url中获取id。示例:(http://localhost/School-project/admin/edit.php?id=2014-01) 所以我的if id是2014-01,它是数据库表student_table中的主键。 我没有收到任何错误,也没有输出数据。所以我复制下面的所有代码请帮帮我! 因为我第二次问问题,也许我不擅长如何把我的代码放在下面。我还附上了桌子结构的按扣。 enter image description here
<?php
session_start();
// Viewer: Can this be abstracted away to a reusable function?
if ( !isset($_SESSION['username']) ) {
header('Location: index.php');
die();
}
?>
<?php include '../inc/header.php';
$id=$_GET['id'];
var_dump($id);
$conn = mysqli_connect("localhost", "root", "", "smart_school");
$queryString = "SELECT * FROM student_details WHERE id =$id";
$result = mysqli_query($conn, $queryString);
mysqli_close($conn);
var_dump($result)
?>
<section id="admin">
<div class="container">
<div class="row">
<div class="col-md-12 admin-area">
<h1>Admin Area</h1>
<hr>
<div class="col-md-3" >
<div class="admin-menu">
<!-- Nav tabs -->
<ul class="list-group">
<li class="list-group-item " ><a href="admin.php">Admin Home</a></li>
<li class="list-group-item " ><a href="student-update.php">Student Update</a></li>
<li class="list-group-item " ><a href="admin-profile.php">Profile</a></li>
<li class="list-group-item " ><a href="logout.php">Logout</a></li>
</ul>
</div>
</div>
<div class="col-md-8">
<div class="student-details">
<?php
while ($row = mysqli_fetch_array($result)) {
?>
<tr>
<td class="success" ><?php echo $row["fname"] ?></td>
<td class="success" ><?php echo $row["lname"] ?></td>
<td class="success" ><?php echo $row["id"] ?></td>
<td class="success" ><?php echo $row["age"] ?></td>
<td class="success" ><?php echo $row["class"] ?></td>
<td class="success" ><?php echo $row["group"] ?></td>
<td class="success" ><?php echo $row["section"] ?></td>
<td class="success" ><?php echo $row["year"] ?></td>
</tr>
<?php
}
?>
</div>
</div>
</div>
</div>
</div>
</section>
<?php include '../inc/footer.php' ?>
答案 0 :(得分:1)
查询没有明显的错误,除了它对注入攻击是开放的。代码不检查产生的任何错误 - 它假定所有函数都返回true。
如果各种mysqli
函数失败,则返回false,然后您可以处理错误并输出错误的详细信息,以帮助您识别问题。
以下代码是错误检查的一个示例。
$mysqli = new mysqli("localhost", "root", "", "smart_school");
// check connection
if ($mysqli->connect_errno) {
die("Connect failed: ".$mysqli->connect_error);
}
// define the query
$sql = "SELECT * FROM student_details WHERE id = ?";
// prepare the query
if (!$stmt = $mysqli->prepare($sql)) {
// failed to prepare query;
die("Prepare failed: ".$stmt->error);
}
// bind the parameter
if (!$res = $stmt->bind_param('s', $_GET['id'])) {
// failed to bind
die("Bind failed: ".$stmt->error);
}
// execute
if (!$res = $stmt->execute()) {
// failed to execute
die("Execute failed: ".$stmt->error);
}
if (!$result = $stmt->get_result()) {
// failed to get results
die("Get results failed: ".$stmt->error);
}