我正在创建Web服务,我需要从mysql获取一些数据并在移动应用中检索它们。
我整天都在尝试使用WHERE语句进行查询,但没有成功。
普通查询,但是没有WHERE却可以正常工作。
[此外,我在堆栈溢出和其他论坛上也经历了所有类似的问题,但没有一个与我的问题相同。
这是我当前的代码:
<?php
$con=mysqli_connect("Hidden credentials");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if ($stmt = $con->prepare("SELECT
team.id as teamId,
team.team_name as teamName,
user.id as userId,
user.username as username,
team_members.role as role
FROM team_members
inner join user on team_members.user_id = user.id
inner join team on team_members.team_id = team.id
where user.id = ?
")) {
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
$resultArray = array();
$tempArray = array();
while($row = $result->fetch_object())
{
$tempArray = $row;
array_push($resultArray, $tempArray);
}
echo json_encode($resultArray);
$stmt->close();
}
?>
如果删除行where user.id=?
,它将正确获取数据。
在phpMyAdmin上运行查询就可以了,所以在查询中没有任何问题。
变量$id
不存在(在您的代码中)。如果要动态设置变量,则可以使用$id = $_GET['id'];
。这将从网址中获取值并将其放入变量中!
您的查询无效,因为您的变量id
不存在(在您显示的代码中。)>
修复:
创建变量id
并将一些数据放入此变量。例如:
$id = 5;
或动态地:
通过带有GET方法的URL:
$id = $_GET['id'];
<a href="index.php?id=5">
。通过单击此a
标签,您将使用参数index.php
等于id
重定向到页面5
。通过POST方法:
例如,您有这个FORM
:
<form method="post">
<input type="number" name="id">
<input type="submit" name="submit">
</form>
提交此FORM
后,值将保存在$_POST
中。您可以通过$_POST["name"]
访问它们。在这种情况下,$_POST["id"]
。
$ id = $ _POST [“ id”];
来自会议:
$id = $_SESSION["id"];
$_SESSION["id"]
。您可以在域的其他页面中访问此变量($ _SESSION [“ id”])。