2016-09-29 3 views
-7

У меня есть ошибка в моем PHP скрипт, который я, выполняющегося в почтальона для использования в андроида части ответа studio.the не выполняет его выдачи ошибки
PHP ошибка Войти сценарий JSON

<b>Parse error</b>: syntax error, unexpected '$response' (T_VARIABLE) in 
<b>/home/u259428939/public_html/Login.php</b> on line 
<b>23</b> 
<br /> 

пожалуйста, помогите мне вне.

<?php 
    $con = mysqli_connect("", "", "", ""); 

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


    $query = "SELECT * FROM user_info WHERE username = '$username' AND password ='$password'"; 
    $result=mysqli_query($con,$query); 

    $response=array(); 


    if(mysqli_num_rows($result)>=1) 
    { 
     $data=mysqli_stmt_fetch($result) 
     $response['success'] = 'true'; 
     $response["name"] = $data['name']; 
     $response["age"] = $data['age']; 
     $response["username"] = $data['username']; 
     $response["password"] = $data['password']; 

    } 

    if(mysqli_num_rows($result)<1){ 
     $response["success"] = 'false'; 

    } 
    echo json_encode($response); 
?> 
+1

Мы не будем делать вам домашнее задание для вас. Где строка 23, что вы пытались решить проблему и т. Д. –

+0

YIKES! Вы используете простой текстовый пароль !!!! PHP предоставляет ['password_hash()'] (http://php.net/manual/en/function.password-hash.php) и ['password_verify()'] (http://php.net/manual/ ru/function.password-verify.php), пожалуйста, используйте их. И вот некоторые [хорошие идеи о паролях] (https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet) Если вы используете версию PHP до 5.5 [имеется пакет совместимости, доступный здесь] (https : //github.com/ircmaxell/password_compat) – RiggsFolly

+0

$ data = mysqli_stmt_fetch ($ result) в этой строке забыл поставить «;». он должен $ data = mysqli_stmt_fetch ($ result); –

ответ

0

Вам не хватает запятой (;) в конце этой линии:

$data=mysqli_stmt_fetch($result) 
           ^
1

Вы сделали небольшую ошибку в конкатенации переменной PHP с помощью строки в запросе SQL. Пожалуйста, плавайте ниже исправленного.

<?php 
    $con = mysqli_connect("", "", "", ""); 

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


    $query = "SELECT * FROM user_info WHERE username = '".$username."' AND password ='".$password."'"; 
    $result=mysqli_query($con,$query); 

    $response=array(); 


    if(mysqli_num_rows($result)>=1) 
    { 
     $data=mysqli_stmt_fetch($result); 
     $response['success'] = 'true'; 
     $response["name"] = $data['name']; 
     $response["age"] = $data['age']; 
     $response["username"] = $data['username']; 
     $response["password"] = $data['password']; 

    } 

    if(mysqli_num_rows($result)<1){ 
     $response["success"] = 'false'; 

    } 
    echo json_encode($response); 
?> 
0

Нет массива, названного data. поэтому $data['name'] недоступен.

if(mysqli_num_rows($result)>=1) 
{ 
    $data=mysqli_stmt_fetch($result);//semi colon was missing 
    $response['success'] = 'true'; 
    $response["name"] = $data['name'];//unable to find $data array 
    $response["age"] = $data['age'];//unable to find $data array 
    $response["username"] = $data['username'];//unable to find $data array 
    $response["password"] = $data['password'];//unable to find $data array 

} 
Смежные вопросы