我有一个表格,在名为“星期一”、“星期二”等的表格“个人资料”的单独列中列出了一周中每一天的事件。我想通过将变量 $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();
}
?>
<小时/>
最佳答案
变量不会在 single-quoted strings 中展开。所以当你这样做时:
$row['$day']
您实际上是在查找名为“$day”的列,该列在该行中不存在。你可以这样做:
$row["$day"]
这会扩展变量。但这并不是真正必要的。该变量本身就是您要使用的字符串,因此只需按原样使用即可:
$row[$day]
关于php - SQL选择查询使用变量来获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30689254/