Php 使用mysqli bind_param()查询WHERE子句不起作用
我正在创建一个Web服务,我需要从mysql获取一些数据,并在移动应用程序中检索这些数据 我一整天都在尝试用WHERE语句进行查询,但没有成功 但是,没有WHERE的普通查询工作得很好 我也在stack overflow和其他论坛上讨论了所有类似的问题,但没有一个问题与我的问题相同 这是我当前的代码:Php 使用mysqli bind_param()查询WHERE子句不起作用,php,mysqli,Php,Mysqli,我正在创建一个Web服务,我需要从mysql获取一些数据,并在移动应用程序中检索这些数据 我一整天都在尝试用WHERE语句进行查询,但没有成功 但是,没有WHERE的普通查询工作得很好 我也在stack overflow和其他论坛上讨论了所有类似的问题,但没有一个问题与我的问题相同 这是我当前的代码: <?php $con=mysqli_connect("Hidden credentials"); if (mysqli_connect_errno()) { echo "Failed
<?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();
}
?>
如果我删除user.id=?它正确地获取数据
在phpMyAdmin上运行查询一切正常,因此查询上没有任何问题 查询不起作用,因为您显示的代码中不存在变量id 修复:创建变量id并将一些数据放入该变量 例如:
$id = 5;
或者说动力:
使用GET方法从URL:
$id = $_GET['id'];
这允许您从URL获取参数。但必须通过链接设置此参数。例如:。单击此a标记,您将被重定向到参数id为5的page index.php。
从POST方法:
例如,您有以下表格:
但首先要定义$\u会话[id]。您可以在域的其他页面中访问此变量$\u SESSION[id]。
代码中不存在变量$id。如果要动态设置变量,可以使用$id=$\u GET['id'];。这将从url获取值并将其放入变量中 id列的数据类型是什么?您是如何定义$id的谢谢您的回复Marty,我现在创建了这个变量,但它只是硬编码的,如何在url中动态设置它?我现在是这样做的:@leonardo'Amato如果你不知道这些基本知识,那么你应该去研究它们。“php从url获取参数”或类似输入到谷歌的内容,很快就会引起大量的解释@我编辑了我的答案。看一看。
<form method="post">
<input type="number" name="id">
<input type="submit" name="submit">
</form>
$id = $_SESSION["id"];