Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Php7 и mssql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: переводил приложения с mysql на mssql, и что то пошло нет, помоги, прикладываю рабочий код на mysql
lehaer
Отправлено: 10 Марта, 2018 - 19:54:38
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Март 2018  


Помог: 0 раз(а)




переводил приложения с mysql на mssql, и что то пошло нет, помоги, прикладываю рабочий код на mysql
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. header('Access-Control-Allow-Origin: *');
  4. header('Content-Type: application/json');
  5.  
  6. if(!isset($_POST)) die();
  7.  
  8.  
  9. $response = [];
  10.  
  11. $con = mysqli_connect('localhost', 'root', '', 'test_site');
  12.  
  13. $username = mysqli_real_escape_string($con, $_POST['username']);
  14. $password = mysqli_real_escape_string($con, $_POST['password']);
  15.  
  16. $query = "SELECT * FROM `users` WHERE username='$username' AND password='$password'";
  17.  
  18. $result = mysqli_query($con, $query);
  19.  
  20. if(mysqli_num_rows($result) > 0) {
  21. $response['status'] = 'loggedin';
  22. $response['user'] = $username;
  23. $response['id'] = md5(uniqid());
  24. $_SESSION['id'] = $response['id'];
  25. $_SESSION['user'] = $username;
  26. } else {
  27. $response['status'] = 'error';
  28. }
  29.  
  30. echo json_encode($response);


и то что у меня получилось, но не работает, такую же таблицу создал, все срабатывает, вроде ошибок но по определенному username и password из базы данных не заходит

<?php

header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');

if(!isset($_POST)) die();

session_start();

$response = [];

$servername = 'localhost';
$options = [
'UID' => 'sa', // имя пользователя, имеющего доступ к БД
'PWD' => '1234', // пароль
'Database' => 'test_site'
];
$conn = sqlsrv_connect($servername, $options);


$username = sqlsrv_prepare($conn, $_POST['username']);
$password = sqlsrv_prepare($conn, $_POST['password']);

$sql = "SELECT * FROM [users] WHERE username='$username' AND password='$password'";

$result = sqlsrv_query($conn, $sql);

if(sqlsrv_num_rows($result) > 0) {
$response['status'] = 'loggedin';
$response['user'] = $username;
$response['id'] = md5(uniqid());
$_SESSION['id'] = $response['id'];
$_SESSION['user'] = $username;
} else {
$response['status'] = 'error';
}

echo json_encode($response);
 
 Top
Vladimir Kheifets
Отправлено: 12 Марта, 2018 - 14:44:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




lehaer пишет:
переводил приложения с mysql на mssql, и что то пошло нет, помоги, прикладываю рабочий код на mysql
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. header('Access-Control-Allow-Origin: *');
  4. header('Content-Type: application/json');
  5.  
  6. if(!isset($_POST)) die();
  7.  
  8.  
  9. $response = [];
  10.  
  11. $con = mysqli_connect('localhost', 'root', '', 'test_site');
  12.  
  13. $username = mysqli_real_escape_string($con, $_POST['username']);
  14. $password = mysqli_real_escape_string($con, $_POST['password']);
  15.  
  16. $query = "SELECT * FROM `users` WHERE username='$username' AND password='$password'";
  17.  
  18. $result = mysqli_query($con, $query);
  19.  
  20. if(mysqli_num_rows($result) > 0) {
  21. $response['status'] = 'loggedin';
  22. $response['user'] = $username;
  23. $response['id'] = md5(uniqid());
  24. $_SESSION['id'] = $response['id'];
  25. $_SESSION['user'] = $username;
  26. } else {
  27. $response['status'] = 'error';
  28. }
  29. echo json_encode($response);

и то что у меня получилось, но не работает, такую же таблицу создал, все срабатывает, вроде ошибок но по определенному username и password из базы данных не заходит

Добрый день!
Вы забыли написать: $response=mysqli_fetch_assoc($result);
так должно работать
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. $query = "SELECT * FROM `users` WHERE username='$username' AND password='$password'";
  3. $result = mysqli_query($con, $query);  
  4. if(mysqli_num_rows($result) > 0)
  5. {
  6.         $response=mysqli_fetch_assoc($result);
  7.         $response['status'] = 'loggedin';
  8.         $response['user'] = $username;
  9.         $response['id'] = md5(uniqid());
  10.         $_SESSION['id'] = $response['id'];
  11.         $_SESSION['user'] = $username;
  12. }
  13. else
  14. {
  15.         $response['status'] = 'error';
  16. }
  17. ?>

Удачи!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB