2016-06-06 7 views
-3

Я стараюсь использовать СЕССИЯ или без нее. Возможно, у меня есть проблемы с использованием СЕССИИ. В phpMyAdmin я использую userid int(11) auto_increment.Как получить user_id, созданный в базе данных с помощью PHP?

Все, что создано с использованием метода POST.

<?php 
session_start();  
$con = mysqli_connect("mysql11.000webhost.com", "a7083778_user",  "abcd12734", "a70830778_data"); 

$username = $_POST["username"]; 
$password = $_POST["password"]; 

$statement = mysqli_prepare($con, "SELECT * FROM user WHERE username = ? AND password = ?"); 
mysqli_stmt_bind_param($statement, "ss", $username, $password); 
mysqli_stmt_execute($statement); 

mysqli_stmt_store_result($statement); 
mysqli_stmt_bind_result($statement, $userID, $name, $age ,$username, $password, $userPoints); 

$response = array(); 
$response["success"] = false; 
$_SESSION["userid"] = $userID; 
while(mysqli_stmt_fetch($statement)){ 
    $response["success"] = true; 
$response["userID"] = $_SESSiON["userid"]; 
    $response["name"] = $name; 
    $response["age"] = $age; 
    $response["username"] = $username; 
    $response["password"] = $password; 
$response["userPoints"] = $userPoints; 
} 

echo json_encode($response); 
?> 
+0

вы хотите уникальный идентификатор? вопрос довольно неясен – Shubhank

+0

@Shubhank sori это мой первый вопрос, да мне нужен уникальный идентификатор (созданный в базе данных, где я могу использовать auto_incrementation) для создания в приложении Android QR-кода, уникального для каждого пользователя –

+0

Обратите внимание, что unhashed/plaintext пароли считаются плохой практикой безопасности. Вы должны сгладить их с помощью соответствующего сильного алгоритма. – halfer

ответ

0

Пожалуйста, попробуйте это, я думаю, что это будет работать для вас

<?php 
 
session_start();  
 
$conn = new mysqli("mysql11.000webhost.com", "a7083098_user", "abcd1234", "a7083098_data"); 
 
$username = $_POST["username"]; 
 
$password = $_POST["password"]; 
 
$qry = "SELECT * FROM user WHERE username = $username AND password = $password"; 
 
$result = $conn->query($qry); 
 
$response = array(); 
 
while($row = $result->fetch_assoc()) 
 
{ 
 
\t $response["success"] = true; 
 
\t $response["userID"] = $row['userId']; 
 
\t $_SESSiON["userid"] = $response["userID"]; //Store userId in session 
 
\t $response["name"] = $row['name']; 
 
\t $response["age"] = $row['age']; 
 
\t $response["username"] = $row['username']; 
 
\t $response["password"] = $row['password']; 
 
\t $response["userPoints"] = $row['userPoints']; 
 
} 
 
echo json_encode($response); 
 
session_destroy(); 
 

 
?>

+0

спасибо за ваш комментарий, но у меня есть проблема. Неустранимая ошибка: вызовите функцию-член fetch_assoc() на не-объект в /home/a7083098/public_html/Login.php в строке 9 –

+0

Сэр, если вы ввели неправильное имя пользователя и пароль , то эта ошибка придет. –

+0

Потому что если никакой выборки данных из базы данных, то $ result-> fetch_assoc() будет отображать эту ошибку. –