• 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

+1 głos
54 wizyt
pytanie zadane 8 czerwca 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 przez Arkadiusz Waluk Ekspert (282,460 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ź 77 wizyt
pytanie zadane 25 października 2020 w PHP przez mallow Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 137 wizyt
pytanie zadane 15 stycznia 2019 w PHP przez 42savage Bywalec (2,630 p.)
0 głosów
0 odpowiedzi 107 wizyt

88,701 zapytań

137,308 odpowiedzi

306,748 komentarzy

58,894 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...