Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd podczas rejestracji PHP, Treść błędu: Exception: You have an error in your SQL syntax; check th
denshow19
post 22.07.2020, 20:57:02
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 22.07.2020

Ostrzeżenie: (0%)
-----


Nie wiem w jakim momencie jest błąd, oglądałem już kilka razy kod i nie umiem znaleźć błędu.

Treść błędu: Exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 in C:\xampp\htdocs\nowy\index.php:113 Stack trace: #0 {main}

A tu kod:
  1. <?php
  2.  
  3.  
  4. if (isset($_POST['login']))
  5. {
  6. //Udana walidacja? Załóżmy, że tak!
  7. $wszystko_OK=true;
  8.  
  9. //Sprawdź poprawność nickname'a
  10. $login = $_POST['login'];
  11.  
  12. //Sprawdzenie loginu
  13.  
  14. if (ctype_alnum($login)==false)
  15. {
  16. $wszystko_OK=false;
  17. $_SESSION['e_login']="Nick może składać się tylko z liter i cyfr";
  18. }
  19.  
  20. //Sprawdź poprawność hasła
  21. $password1 = $_POST['password1'];
  22. $password2 = $_POST['password2'];
  23.  
  24. if ((strlen($password1)<8) || (strlen($password1)>40))
  25. {
  26. $wszystko_OK=false;
  27. $_SESSION['e_password']="Hasło musi posiadać od 8 do 40 znaków!";
  28. }
  29.  
  30. if ($password1!=$password2)
  31. {
  32. $wszystko_OK=false;
  33. $_SESSION['e_password']="Podane hasła nie są identyczne!";
  34. }
  35.  
  36. $password_hash = password_hash($password1, PASSWORD_DEFAULT);
  37.  
  38.  
  39. //reCAPTCHA - sprawdzenie "nie jestem robotem"
  40. $sekret = "6LfChbQZAAAAAIqEZA0Ii__K6iPgg1haPSnPDzhA";
  41. $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']);
  42.  
  43. $odpowiedz = json_decode($sprawdz);
  44.  
  45. if ($odpowiedz->success==false)
  46. {
  47. $wszystko_OK=false;
  48. $_SESSION['e_bot']="Potwierdź, że nie jesteś botem!";
  49. }
  50.  
  51.  
  52. require_once "connect.php";
  53. mysqli_report(MYSQLI_REPORT_STRICT);
  54.  
  55. try
  56. {
  57. $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
  58. if ($polaczenie->connect_errno!=0)
  59. {
  60. throw new Exception(mysqli_connect_errno());
  61. }
  62. else
  63. {
  64. //Czy już istnieje wolo o takim loginie
  65. $rezultat = $polaczenie->query("SELECT id FROM wolo WHERE login='$login'");
  66.  
  67. if (!$rezultat) throw new Exception($polaczenie->error);
  68.  
  69. $ile_takich_loginow = $rezultat->num_rows;
  70. if($ile_takich_loginow>0)
  71. {
  72. $wszystko_OK=false;
  73. $_SESSION['e_login']="Istnieje już konto o takim loginie!";
  74. }
  75.  
  76. $kod = $_POST['kod'];
  77.  
  78. //Sprawdzenie czy kod zgadza się z wolo
  79. $rezultat = $polaczenie->query("SELECT id FROM kod WHERE login='$login' AND kod='$kod'");
  80.  
  81. if (!$rezultat) throw new Exception($polaczenie->error);
  82.  
  83. $ile_takich_kodow = $rezultat->num_rows;
  84. if($ile_takich_kodow==0)
  85. {
  86. $wszystko_OK=false;
  87. $_SESSION['e_kod']="Kod jest nieprawidłowy!";
  88. }
  89.  
  90. if ($wszystko_OK==true)
  91. {
  92. //dodanie wolo do bazy
  93.  
  94. if ($polaczenie->query("INSERT INTO tymwolo VALUES ($login, $password_hash "))
  95. {
  96. $_SESSION['udanarejestracja']=true;
  97. header('Location: powitanie.php');
  98. }
  99. else
  100. {
  101. throw new Exception($polaczenie->error);
  102. }
  103.  
  104. }
  105.  
  106. $polaczenie->close();
  107. }
  108.  
  109. }
  110. catch(Exception $e)
  111. {
  112. echo '<span style="color:red;">Błąd serwera! Przepraszamy za niedogodności i prosimy o rejestrację w innym terminie!</span>';
  113. echo '<br />Informacja developerska: '.$e;
  114. }
  115.  
  116. }
  117.  
  118. ?>

Go to the top of the page
+Quote Post
trueblue
post 23.07.2020, 06:16:58
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Sprawdź linię 95.

Masz zaledwie 3 pytania w kodzie. Warto przejrzeć kilkukrotnie kod, zanim napisze się posta.


--------------------
Go to the top of the page
+Quote Post
viking
post 23.07.2020, 07:29:34
Post #3





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Zacznij stosować https://www.php.net/manual/en/mysqli.prepare.php to i nie będziesz miał problemów z apostrofami.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 05:35