我有一个名为“groups”的表,其中包括两列:id_group,它是主键和nazwa。
我在表中插入一个新行并且它可以工作,但作为响应,我想在我的Java代码中获取新创建行的id_group的值。
在我的java代码Log.i(“”,resp.getResult());我总是得到“假”作为回应,而不是数字的ID。
public function createNewGroup($nazwa) {
try {
$query = $this -> conn -> prepare("INSERT INTO groups SET nazwa =:nazwa");
$query -> bindParam(':nazwa', $nazwa, PDO::PARAM_STR);
$query -> execute(array('nazwa' => $nazwa));
if (!$query) {
printf("Error: %s\n", mysqli_error($this -> db));
exit();
}
$query2 = $this -> conn -> prepare("SELECT * FROM groups WHERE nazwa =:nazwa") -> fetchColumn();
$sql = "SELECT * FROM groups WHERE nazwa =:nazwa";
if ($query -> rowCount() > 0) {
$response["result"] = $query2;
$response["message"] = "Row added successfully!";
return json_encode($response);
} else {
$response["result"] = "failure";
$response["message"] = "Row not added!";
return json_encode($response);
}
} catch (PDOException $e) {
die($e -> getMessage());
}
}编辑://
我改变了这些线:
$query2 = $this->conn->prepare("SELECT id_group FROM groups WHERE nazwa =:nazwa");
$query2->bindParam(':nazwa', $nazwa, PDO::PARAM_STR);
$query2->bindParam(':id_group', $id_group, PDO::PARAM_INT);
$query2->execute();现在有错误:
D/OkHttp: ( ! ) Warning: PDOStatement::execute(): SQLSTATE[HY093]:
Invalid parameter number: number of bound variables does not match
number of tokens in C:\wamp64\www\loginregister\Functions.php on line
153