Ich füge den Namen und die Bewertung eines Spielers von meinem Handy ein. Dieser Teil funktioniert. Aber danach will ich den int-Wert einer Variablen namens player_id zurückbekommen, der der Primärschlüssel ist.eine Variable über PHP/MySQL aus einer Tabelle lesen
Also zuerst mache ich die Einfügeabfrage, die Daten werden eingefügt. Sobald dies erledigt ist, führe ich eine select-Abfrage aus, um die player_id der eingefügten Zeile vom Benutzer zu erhalten. Dies ist der Code.
<?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);
?>
und ich bekomme diese Antwort.
{"result":"fail","message":"player was not found"}
Also selbst wenn ich die Daten durch mein Android-Smartphone hinzufügen können, die select-Abfrage funktioniert nicht :(. Irgendwelche Ideen, warum ist das passiert? Ich habe nie, die tief in PHP/MySQL gespielt. Aber ich bin immer dort, glaube ich.
Danke,
Theo.
EDIT
<?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);
?>
, warum Sie nicht zuletzt Insert-ID der Variablen zuweisen und die Arbeit mit mit? – daremachine
Was ist der Unterschied zwischen player_id und user_id? Es könnte Ihr Problem sein – daremachine
Die user_id ist die ID des registrierten Benutzers. Ich erzähle dies mit der player_id der rating_players_table, so dass jeder Benutzer Daten posten kann. – Theo