Php 注意:未定义变量:stmt

Php 注意:未定义变量:stmt,php,Php,我是新来的php。。。我有一些错误,但找不到请帮助我。。 错误消息 注意:未定义变量:stmt。。。。致命错误:在null上调用成员函数bind_param 将变量$statement更改为$stmt您在变量名称中使用的变量名称与变量名称相同时出错。 其他想法 结果如何 绑定结果未使用此查询“选择*自…” 如果要使用绑定结果,请使用此同步 $stmt = $conn->prepare("SELECT name,age FROM data WHERE username = ? AND pas

我是新来的php。。。我有一些错误,但找不到请帮助我。。 错误消息

注意:未定义变量:stmt。。。。致命错误:在null上调用成员函数bind_param


将变量$statement更改为$stmt

您在变量名称中使用的变量名称与变量名称相同时出错。 其他想法 结果如何 绑定结果未使用此查询“选择*自…”

如果要使用绑定结果,请使用此同步

$stmt = $conn->prepare("SELECT name,age FROM data WHERE username = ? AND password = ?");
$stmt->bind_param('ss' ,$username ,$password);
$stmt->execute();
$stmt->bind_result($name ,$age);

$response = array();  

while($stmt->fetch($stmt)){
    $response['success'] = true;  
    $response['name'] = $name;
    $response['age'] = $age;
}

echo json_encode($response, JSON_UNESCAPED_UNICODE);
或使用

$stmt = $conn->prepare("SELECT * FROM data WHERE username = ? AND password = ?");
$stmt->bind_param('ss' ,$username ,$password);
$stmt->execute();
$result = $stmt->get_result();
$response = array();  

while($row = $result->fetch_assoc())){
    $response[] = $row;
}

echo json_encode($response, JSON_UNESCAPED_UNICODE);

包括错误详细信息您正在将语句存储在$statement中,而不是$stmt中。切勿将密码存储在纯文本中。。仅存储password\u hash生成的密码散列,并使用password\u verify验证密码。变量$age和$name来自何处?谢谢…纠正了错误…感谢所有的一。。。
$stmt = $conn->prepare("SELECT * FROM data WHERE username = ? AND password = ?");
$stmt->bind_param('ss' ,$username ,$password);
$stmt->execute();
$result = $stmt->get_result();
$response = array();  

while($row = $result->fetch_assoc())){
    $response[] = $row;
}

echo json_encode($response, JSON_UNESCAPED_UNICODE);