Dodawanie do bazy danych z formularza - dane się nie dodają chociaż pisze że się dodały

0

Witajcie, mam problem z formularzem. Otrzymuję info ,że dane się dodały poprawnie ale nie dodają się do bazy danych i nie wiem dlaczego.. czy ktoś może zerknąć i pomóc z tym ? Bo nie wiem co robię źle.

<?php


if(isset($_POST['wyslano']))
    { 

$Nazwa = $_POST['nazwa']; 
$Opis = $_POST['opis']; 
 $Foto = $_FILES['foto'];

if($Nazwa and $Opis) {


$connection = @mysqli_connect('localhost', 'test1', 'dakota16')or die('Nie można się połączyć: ' . mysql_error());
   print ('Połączenie nawiązane');


   
$db = @mysqli_select_db($connection,"ksiazka")
	or die ('Brak połączenia z bazą');

   

$ins = "INSERT INTO nazwa (nazwa, opis) SET ('$Nazwa', '$Opis')";


if($ins) echo "Rekord został dodany poprawnie";
else echo "Błąd nie udało się dodac rekordu do bazy";

print("{$Nazwa}  {$Opis}");


$uploaddir ='';
$uploadfile = $uploaddir . basename($_FILES['foto']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}
}
	}
echo 'Here is some more debugging info:';


print_r($_FILES);

print "</pre>"; 
?>
```php
1

INSERT INTO... SET ...
Użyj normalnej składni, a nie gównianej MySQL-owej.
EDIT: Poza tym NIE WYKONUJESZ tego kodu.

0
Marcin.Miga napisał(a):

INSERT INTO... SET ...
Użyj normalnej składni, a nie gównianej MySQL-owej.
EDIT: Poza tym NIE WYKONUJESZ tego kodu.

podmieniłam na :
php $ins = "INSERT INTO 'nazwa' ('nazwa', 'opis') VALUES ('$Nazwa', '$Opis')";php

teraz powinno być OK, bo jak wklejam w PHPadmin i podmieniam dane Values to się rekordy dodają. Nie dodają się tylko jak robię w formularzu... Co to znaczy, że nie wykonuję tego kodu?

<form enctype="multipart/form-data" name="aa" method="POST" action="test.php">
<input type="hidden" name="wyslano" value="1">
<input type="hidden" name="MAX_FILE_SIZE" value="30000000">
Nazwa: <input type="text" name="nazwa"><br>
Opis: <input type="text" name="opis"><br>
Zdjęcie: <input type="file" name="foto"><br>
<br>
<button type="submit">wyślij</button>
</form>```php
0

brak ci mysqli_query()....

0

Oj dziękuję bardzo, miałam na początku.. przypadkiem usunęłam... poprawiłam i to już działa, ładnie dodaje do bazy.
tylko nie dodaje do bazy zdjęcia :( tzn dodaje je do katalogu ale w bazie nie zapisuje nawet linka do niego hmmm
mam tu jakiś błąd?

$connection = @mysqli_connect('localhost', 'test1', 'dakota16')or die('Nie można się połączyć: ' . mysqli_error());
   print ('Połączenie nawiązane');


   
$db = @mysqli_select_db($connection,"ksiazka")
	or die ('Brak połączenia z bazą');


$ins = ("INSERT INTO nazwa (nazwa, opis) VALUES ('$Nazwa', '$Opis')");

 if (mysqli_query($connection, $ins)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $ins . "<br>" . mysqli_error($connection);
}

mysqli_close($connection);


print("{$Nazwa}  {$Opis}");

$uploaddir ='';
$uploadfile = $uploaddir . basename($_FILES['foto']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}
}
	}
echo 'Here is some more debugging info:';


print_r($_FILES);

print "</pre>";```php
0

Błędu nie ma. Nie ma też kodu, który zapisuje do bazy tę nazwę...

0

Już sobie z tym poradziłam :) Teraz męczę wyświetlanie danych z tabeli i nie potrafię nigdzie znaleźć takiej rzeczy - Do bazy zapisywana jest ścieżka obrazka i chciałabym wyświetlić w pliku nie ścieżkę obrazka a ten właśnie obrazek... Nie potrafię tego ugryźć :/
Mam pętle jak poniżej...ścieżka obrazka jest w $_SESSION[path] i nie wiem jak włożyć to w img src ?

    while($row = $rezultat->fetch_assoc())
    {
        $_SESSION['nazwa']=$row['nazwa'];
        $_SESSION['opis']=$row['opis'];
 $_SESSION['name']=$row['name'];
          $_SESSION['path']=$row['path'];
             
         
        echo
        "<table>
        <tr>
        <th>ID</th>
        <th>Imię</th>
       <th>Name</th>
	   <th>Path</th>
        </tr>
        <tr>
        <td>".$_SESSION['nazwa']."</td>
        <td>".$_SESSION['opis']."</td>
          <td>".$_SESSION['name']."</td>
     <td>  ".$_SESSION['path']. " </td>
        </tr>
        </table>";
         
     
         
         
    }```php
1

Zamiast wpisywać w $SESSION wpisz np. tak:

    while($row = $rezultat->fetch_assoc())
    {
        echo
        "<table>
        <tr>
        <th>ID</th>
        <th>Imię</th>
       <th>Name</th>
       <th>Path</th>
        </tr>
        <tr>
        <td>".$row['nazwa']."</td>
        <td>".$row['opis']."</td>
          <td>".$row['name']."</td>
     <td>  <img src='".$row['path']. "' /> </td>
        </tr>
        </table>";

    }
0

o działa, dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1