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

Zapytanie INSERT

Object Storage Arubacloud
0 głosów
333 wizyt
pytanie zadane 25 czerwca 2018 w PHP przez toffik93 Bywalec (2,820 p.)

Kod błędu: Warning: mysqli_query(): Empty query in C:\xampp\htdocs\portal\DodajRekord.php on line 8
Błąd: Column 'uzytkownik_id' cannot be null

$kategoria=$_POST['kategoria'];
$podkategoria=$_POST['podkategoria'];
$tytul=$_POST['tytul'];
$tresc=$_POST['tresc'];
$q=mysqli_connect("localhost","root","","ogloszenia") or die("Padl serwer");
$sql=mysqli_query($q, "INSERT INTO `ogloszenie` (`uzytkownik_id`, `kategoria`, `podkategoria`, `tytul`, `tresc` ) VALUES (null,'$kategoria','$podkategoria','$tytul','$tresc')");
if(mysqli_query($q,$sql)){
echo "Ogłoszenie zostało dodane";
}else{
echo "Błąd: " . $sql . "
" . mysqli_error ($q);
}
mysqli_close($q);
?>

Trzy pytania: 

1. O co chodzi z empty_query?

2. Co mam wpisac w miejscu uzytkownik_id, skoro null nie dziala?

3. jak naprawic te bledy?

2 odpowiedzi

+2 głosów
odpowiedź 25 czerwca 2018 przez Chess Szeryf (76,710 p.)
wybrane 25 czerwca 2018 przez toffik93
 
Najlepsza

1. Zamień to:

if(mysqli_query($q,$sql)){ // ... 

, na to:

if($sql){ // ...

2. Spróbuj w ogóle niczego tam nie wpisywać z obydwu stron, czyli:

$sql=mysqli_query($q, "INSERT INTO `ogloszenie` (`kategoria`, `podkategoria`, `tytul`, `tresc` ) VALUES ('$kategoria','$podkategoria','$tytul','$tresc')");

lub napisz tak:

$sql=mysqli_query($q, "INSERT INTO `ogloszenie` VALUES (null,'$kategoria','$podkategoria','$tytul','$tresc')");

Wpisz np. w konsolę polecenie: describe tbl_name; i sprawdź typy pól. Nie możesz dawać apostrofów dla int'ów i nie stosować apostrofów dla string'ów. Zobacz też, czy nie wpisałeś przypadkiem not null przy kolumnie, to może być przyczyną tych błędów.

https://4programmers.net/Forum/PHP/309007-php_i_mysql?p=1478764#id1478764

0 głosów
odpowiedź 25 czerwca 2018 przez toffik93 Bywalec (2,820 p.)

W tym momencie mam taki kod: 

<?php
$kategoria=$_POST['kategoria'];
$podkategoria=$_POST['podkategoria'];
$tytul=$_POST['tytul'];
$tresc=$_POST['tresc'];
$q=mysqli_connect("localhost","root","","ogloszenia") or die("Padl serwer");
$sql=mysqli_query($q, "INSERT INTO `ogloszenie` (`uzytkownik_id`, `kategoria`, `podkategoria`, `tytul`, `tresc` ) VALUES ('$kategoria','$podkategoria','$tytul','$tresc')");
if($sql){
echo "Ogłoszenie zostało dodane";
}else{
echo "Błąd: " . $sql . "
" . mysqli_error ($q);
}
mysqli_close($q);
?>

otrzymuję błąd:

Błąd: Column count doesn't match value count at row 1

komentarz 25 czerwca 2018 przez Chess Szeryf (76,710 p.)

Wyrzuć ze zmiennej $sql, to: `uzytkownik_id`, ponieważ liczba kolumn się nie zgadza, sam błąd przecież o tym mówi. Napisałem Ci przykłady, a Ty napisałeś własny nieprawidłowy przykład.

komentarz 25 czerwca 2018 przez toffik93 Bywalec (2,820 p.)
Zaspany jestem, więc wybacz błędy. :Teraz działa, więc dzięki za pomoc. :)

Podobne pytania

0 głosów
2 odpowiedzi 156 wizyt
pytanie zadane 9 czerwca 2018 w PHP przez Q7V Gaduła (4,250 p.)
0 głosów
3 odpowiedzi 332 wizyt
pytanie zadane 25 października 2017 w PHP przez Serfin Nowicjusz (160 p.)
–1 głos
1 odpowiedź 306 wizyt
pytanie zadane 29 lipca 2017 w PHP przez UltraSF Stary wyjadacz (11,740 p.)

92,573 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 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!

...