사용자 ID가 데이터베이스에 이미 있는지 확인하려고합니다. 그러나 어떤 이유로 그것은 작동하지 않습니다. 나는 다른 해결책을 시도했지만 모두 실패했습니다.데이터가 데이터베이스에 이미 있는지 확인하십시오.
db_connect.php가 정상적으로 작동하고 있습니다. 다시 확인했습니다!
create_user.php
<?php
$response = array();
if (isset($_POST['user_id'])){
$id = $_POST['user_id'];
$fullName = $_POST['user_fullName'];
$firstName = $_POST['user_firstName'];
$lastName = $_POST['user_lastName'];
$birthday = $_POST['user_birthday'];
$friends = $_POST['user_friends'];
$totalFriends = $_POST['user_totalFriends'];
$email = $_POST['user_email'];
$gender = $_POST['user_gender'];
$likes = $_POST['user_likes'];
$events = $_POST['user_events'];
$hometown = $_POST['user_hometown'];
require_once __DIR__ . '/db_connect.php';
$db = new DB_CONNECT();
$query = mysql_query("SELECT * FROM 'userData' WHERE 'id' = '$id'");
$user_data = mysql_num_rows($query);
if(empty($user_data)) {
$result = mysql_query("INSERT INTO userData(id, fullName, firstName, lastName, birthday, friends, totalFriends, email, gender, likes, events, hometown) VALUES ('$id', '$fullName', '$firstName', '$lastName', '$birthday', '$friends', '$totalFriends', '$email', '$gender', '$likes', '$events', '$hometown')");
if($result){
$response["success"] = 1;
$response["message"] = "User successfully created";
echo json_encode($response);
}
else{
$response["success"] = 0;
$response["message"] = "Error occurred";
echo json_encode($response);
}
}
else {
$response["success"] = 1;
$response["message"] = "User already in database";
echo json_encode($response);
}
}
else{
$response["success"] = 0;
$response["message"] = "Required userdata is missing";
echo json_encode($response);
}
?>
음. 이 스크립트를 브라우저에서 실행하면 완벽하게 작동합니다. 내 안드로이드 애플 리케이션에서 실행할 때 항상 새로운 사용자를 만듭니다.
감사합니다. T
'SELECT * FROM 'userData'WHERE 'id ''는 테이블과 컬럼 이름에 작은 따옴표를 제거합니다. –
작동하지 않는 기능은 무엇입니까? 표시 할 수있는 오류 또는 설명 할 수있는 동작이 있습니까? – Erik
SQL 인젝션을 읽어보십시오. –