我有一个表格,列出了一周中每一天的活动,在一个名为“星期一”,“星期二”等的“个人资料”表的不同列中。我想通过设置变量$ day to date(“l”)来加载该数据,该变量应该返回星期几。我的数据库连接正常工作,并且当我将特定日期添加到fetch数组时,查询会加载星期几,例如 - $ 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();
}
?>
答案 0 :(得分:0)
变量不会在single-quoted strings中展开。所以当你这样做时:
$row['$day']
你真的在寻找名为&#34; $ day&#34;的专栏,该专栏并不存在。你可以这样做:
$row["$day"]
哪会扩展变量。但这并不是必需的。变量本身就是您要使用的字符串,因此只需将其用作原样:
$row[$day]