簡體   English   中英

SQL選擇查詢使用變量來獲取行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM