我在手机上插入了一名球员的名字和他的评分。这部分正在运作。但在那之后我想要获得一个名为player_id的变量int值,这是主键值。
所以首先我进行插入查询,插入数据。完成后,我运行一个select查询以获取用户插入行的player_id。这是代码。
<?php
require "init.php";
header('Content-type: application/json');
$id_isSet = isset($_POST['player_id']);
$user_id_isSet = isset($_POST['User_Id']);
$best_player_isSet = isset($_POST['player']);
$rate_isSet = isset($_POST['rating']);
if ($id_isSet && $user_id_isSet && $best_player_isSet && $rate_isSet) {
$id = $_POST['player_id'];
$user_id = $_POST['User_Id'];
$best_player = $_POST['player'];
$rate = $_POST['rating'];
$sql_query = "INSERT INTO rating_players_table
VALUES('$id','$best_player','$rate','$user_id');";
if (mysqli_query($con, $sql_query)) {
$query = "select * from rating_players_table LIMIT 1";
$result = mysqli_query($con, query);
$row = mysqli_fetch_array($result);
if ($row) {
$post_id = $row['player_id'];
$don = array('result' => 'success', 'message' => $post_id);
} else {
$don = array('result' => 'fail', 'message' => 'player was not found');
}
}
} else if (!$best_player) {
$don = array('result' => "fail", "message" => "Insert player name");
} else if (!$rate) {
$don = array('result' => "fail", "message" => "Rate player");
}
echo json_encode($don);
?>
我收到了这个回复。
{"result":"fail","message":"player was not found"}
所以即使我可以通过我的Android手机添加数据,选择查询也不起作用:(。任何想法为什么会发生这种情况?我从未在php / mysql中玩过那么深。但是我到了那里,我认为
谢谢,
西奥。
修改
<?php
require "init.php";
header('Content-type: application/json');
$id_isSet = isset($_POST['player_id']);
$user_id_isSet = isset($_POST['User_Id']);
$best_player_isSet = isset($_POST['player']);
$rate_isSet = isset($_POST['rating']);
if($id_isSet && $user_id_isSet && $best_player_isSet && $rate_isSet){
$id = $_POST['player_id'];
$user_id = $_POST['User_Id'];
$best_player = $_POST['player'];
$rate = $_POST['rating'];
$sql_query = "INSERT INTO rating_players_table
VALUES('$id','$best_player','$rate','$user_id');";
if(mysqli_query($con,$sql_query)){
mysqli_insert_id($con);
$don = array('result' =>"success","message"=>"Έγινε");
}
}else if(!$best_player){
$don = array('result' =>"fail","message"=>"Insert player name");
}else if(!$rate){
$don = array('result' =>"fail","message"=>"Rate player");
}
$query = "select player from rating_players_table where player_id ='".mysqli_real_escape_string($con, $id)."' LIMIT 1";
$result = mysqli_query($con,query);
$row = mysqli_fetch_array($result);
if($row){
$post_id = $row['player_id'];
mysqli_insert_id($post_id);
$don = array('result' =>'success','message'=>$post_id);
}else{
$don = array('result' =>'fail','message'=>'player was not
found');
}
echo json_encode($don);
?>
答案 0 :(得分:0)
您可以在插入查询语句后使用此mysqli_insert_id($con);
。
答案 1 :(得分:0)
确定。问题是固定的。最后我可以读取player_id变量。
<?php
require "init.php";
header('Content-type: application/json');
$id_isSet = isset($_POST['player_id']);
$user_id_isSet = isset($_POST['User_Id']);
$best_player_isSet = isset($_POST['player']);
$rate_isSet = isset($_POST['rating']);
if($id_isSet && $user_id_isSet && $best_player_isSet && $rate_isSet){
$id = $_POST['player_id'];
$user_id = $_POST['User_Id'];
$best_player = $_POST['player'];
$rate = $_POST['rating'];
$sql_query = "INSERT INTO rating_players_table
VALUES('$id','$best_player','$rate','$user_id');";
if(mysqli_query($con,$sql_query)){
$last_player_id = mysqli_insert_id($con);
$don = array('result' =>'success','message'=>$last_player_id);
}else{
$don = array('fail' =>'success','message'=>'Κάτι πήγε λάθος');
}
echo json_encode($don);
}
?>
我添加了这两行:)。
$last_player_id = mysqli_insert_id($con);
$don = array('result' =>'success','message'=>$last_player_id);
我在使用自行车一小时后解决了这个问题!! :)