Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mysqli bind_param()查询WHERE子句不起作用_Php_Mysqli - Fatal编程技术网

Php 使用mysqli bind_param()查询WHERE子句不起作用

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

我正在创建一个Web服务,我需要从mysql获取一些数据,并在移动应用程序中检索这些数据

我一整天都在尝试用WHERE语句进行查询,但没有成功

但是,没有WHERE的普通查询工作得很好

我也在stack overflow和其他论坛上讨论了所有类似的问题,但没有一个问题与我的问题相同

这是我当前的代码:

<?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"];