我有这个SQL应该根据房间ID来检索房间:
$sql="SELECT room FROM Rooms WHERE roomID = $_POST[roomID]";
(roomID是变量)
为什么这不起作用?
编辑:如果我输入一个数字代替$ _POST [roomID](或$ _POST ['roomID']),代码就可以了
EDIT2:这是我的代码:
while ($row = $result->fetch_assoc()) {
$date = $row['date'];
$period = $row['period'];
$roomID = $row['roomID'];
$teacherinitials = $row['teacherinitials'];
$sql2="SELECT room FROM Rooms WHERE roomID = $_POST[roomID]";
$res=mysqli_query($con,$sql2);
while ($row2 = $res->fetch_assoc()) {
$room = $row2['room'];
$description = $row2['description'];
}
我从用户输入中获取roomID,然后我尝试使用它来查找roomID对应于另一个表中的房间。
答案 0 :(得分:1)
$sql="SELECT room FROM Rooms WHERE roomID = $_POST[roomID]"; // not working
可能的原因:
$_POST['roomID']
未设置roomID
未在您的陈述中引用 - $_POST['roomID']
您的查询中未引用变量:
$ roomID = $ _POST ['roomID'];
$ sql =“选择房间FROM Rooms WHERE roomID ='$ roomID'”;
无法执行查询 - 这种情况发生了很多。
做一些调试。查看服务器错误日志。
...并记住在将用户输入发送到数据库之前将其转义。