我試圖從MySQL數據庫中選擇數據,
我執行下面的代碼:
<?php $_SESSION["dog_park"] = $_GET['keyword'] ?>
<div class="review"> <!-- Creating a div with the class 'review -->
<!-- but POST varibale in here for dog park name -->
<h1><?php echo $_SESSION["dog_park"]; ?></h1>
<table border="1" cellspacing="5" cellpadding="5" width="100%">
<thead>
<tr>
<th>Park Name</th>
<th>Street</th>
<th>Suburb</th>
<th>Dog Park Area (m2)</th>
</tr>
</thead>
<tbody>
<?php
$result = $conn->prepare("SELECT * FROM dog_parks.items where suburb = '$_SESSION[dog_park]'");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<tr>
<td><label><?php echo $row['Park_Name']; ?></label></td>
<td><label><?php echo $row['Street']; ?></label></td>
<td><label><?php echo $row['Suburb']; ?></label></td>
<td><label><?php echo $row['Dog_Park_Area_(m2)']; ?></label></td>
</tr>
<?php } ?>
</tbody>
</table>
它與會話變量有關,如果我爲mySQL查詢輸入一個靜態值,它將正確顯示錶數據,但當$ _SESSION變量存在時會失敗。
我不同意重複標誌。在使用mySQL時,OP沒有問任何有關安全代碼的問題,而是爲什麼他的代碼無法工作。 – GrumpyCrouton
問題不在於SQL注入,而是用戶遇到的問題是同一個問題。 – chris85