[英]SQL Select Query Using variable to fetch row
我有一個表,該表在名為“星期一”,“星期二” ...等的表“配置文件”的單獨列中列出一周中每一天的活動。 我想通過將變量$ day設置為date(“ l”)來加載該數據,該變量應返回星期幾。 我的數據庫連接有效,當我將特定的日期添加到獲取數組時,查詢將加載星期幾,例如-$ row ['monday']顯示星期一的活動; 當我嘗試使用變量$ day加載關聯的日期$ row ['$ day']時,結果為0。如何使用變量從該列加載結果。 -如果今天是星期二,則當我輸入用戶名和密碼時,“星期二”列將從該用戶行加載。
<form action="" method="post" role="form">
<div class="form-group">
<label for="username">User Name:</label>
<input type="username" class="form-control" name="userName">
</div>
<div class="form-group">
<label for="pin">Pin:</label>
<input type="pin" class="form-control" name="pin">
</div>
<button type="submit" name="submit"
class="btn btn default">Submit</button>
</form>
<?php
$day = date("l");
if(isset($_POST['submit']))
{
include('util.php');
$userName = $_POST['userName'];
$pin = $_POST['pin'];
$sql = "SELECT * FROM profile WHERE userName = '$userName'
AND pin = '$pin'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Activity: " . $row['$day']. "<br>" ;
}
} else {
echo "0 results";
}
$conn->close();
}
?>
變量不會在單引號字符串中擴展。 因此,當您執行此操作時:
$row['$day']
您實際上是在尋找名為“ $ day”的列,該列在行中不存在。 您可以這樣做:
$row["$day"]
這將擴展變量。 但這不是真的必要。 變量本身就是您要使用的字符串,因此請按原樣使用它:
$row[$day]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.