从表中通过php / mysql读取变量

时间:2016-07-17 09:25:34

标签: php mysql select

我在手机上插入了一名球员的名字和他的评分。这部分正在运作。但在那之后我想要获得一个名为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);

?>

2 个答案:

答案 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);

我在使用自行车一小时后解决了这个问题!! :)