• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

problem z połączeniem mysql z formularzem w php

Object Storage Arubacloud
+1 głos
574 wizyt
pytanie zadane 8 czerwca 2022 w PHP przez peter174 Nowicjusz (130 p.)

Mam pewien problem z połączeniem formularza z mysql za każdym razem wyskakuje błąd krytyczny, może już ktoś sie zetkną z czymś takim.

błąd:


Fatal error: Uncaught mysqli_sql_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 '',' asdf','asdf',1)' at line 2 in C:\xampp\htdocs\php1\insert1.php:9 Stack trace: #0 C:\xampp\htdocs\php1\insert1.php(9): mysqli->query('INSERT INTO uzy...') #1 {main} thrown in C:\xampp\htdocs\php1\insert1.php on line 9

z góry dziękuje za pomoc

 

 <form action="insert1.php" method="post">

 <div class="form-group">
    <label>user</label> 
     <input type="text" name="user" class="form-control">

  </div>
  <div class="form-group">
     <label>password</label>
     <input type="text" name="pass" class="form-control">
  </div>
  <div class="form-group">
      <label>mail</label>
      <input type="text" name="mail" class="form-control">
      <input type="submit" name="zatwierdź" value="zatwierdź">
</form>
<?php 
    $conn=mysqli_connect('localhost', 'root','','osadnicy');
      if(!$conn){
          die('Could not Connect MySql Server:' .mysql_error());
        }
?>
<?php
 require("db.php");
     $zmienna1 = $_POST['user'];
     $zmienna2 = $_POST['pass'];
     $zmienna3 = $_POST['mail'];
     
     $sql = "INSERT INTO uzytkownicy (id ,user, pass ,email,admin)
     VALUES ('',  $zmienna1',' $zmienna2','$zmienna3','1')";
     $result = $conn->query($sql);
     mysql_close ($db);
?>

 

1 odpowiedź

+2 głosów
odpowiedź 8 czerwca 2022 przez Arkadiusz Waluk Ekspert (287,950 p.)

Brakuje Ci otwarcia jednego apostrofa przed $zmienna1, spójrz uważnie:

VALUES ('',  $zmienna1',' $zmienna2','$zmienna3','1')";

No i warto wspomnieć, że taki sposób podstawiania wartości do bazy jest bardzo niebezpieczny, może umożliwić atak sql injection. Należałoby użyć tu bindowania wartości.

Podobne pytania

0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 25 października 2020 w PHP przez mallow Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 245 wizyt
pytanie zadane 15 stycznia 2019 w PHP przez 42savage Bywalec (2,630 p.)
0 głosów
0 odpowiedzi 158 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...