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

PHP sprawdzanie kolumny

Object Storage Arubacloud
0 głosów
279 wizyt
pytanie zadane 4 lipca 2022 w PHP przez AgentTecza Obywatel (1,810 p.)
edycja 4 lipca 2022 przez AgentTecza

Witam,
Napotkałem problem przy szukaniu danych w bazie danych.
Mianowicie chciałbym zrobić coś takiego w php że jeżeli wpiszesz coś w jedno pole input to później po kliknięciu przycisku wyszukuje tej informacji w bazie danych. Jeśli jest prawdziwa(znalazło takie pole w danej kolumnie) to przenosi cię na inną stronę php na której wypisuje wszystkie wartości tego całego jednego wiersza. Niestety mam jakiś problem odnośnie mojego php. Przy okazji chciałbym dowiedzieć się czy istnieje jakiś bardziej bezpieczny sposób łączenia się z bazą danych(poznałem tylko ten tradycyjny)
 

<form method="post">
          <input type="text" name="nem"><br/>
          <button  type="submit" name="submit">Szukaj</button>
          </form>

 

<?php
if(isset($_POST['submit'])){
  $w = $_POST['nem'];
  $pol = mysqli_connect("localhost","root","","test");
  $q = ("SELECT * FROM `testowynr` WHERE `Numerek` = `$w`;");
  $stmt = mysqli_stmt_init($pol);
  if(!mysqli_stmt_prepare($stmt,$q)){
    die(mysqli_error($pol));
}
mysqli_stmt_execute($stmt);
$stmt->close();
$pol->close();
}
?>

Z góry dziękuje za pomoc!

komentarz 4 lipca 2022 przez Comandeer Guru (601,590 p.)
Jakieś błędy dostajesz?
komentarz 4 lipca 2022 przez AgentTecza Obywatel (1,810 p.)
Unknown column 'w' in 'where clause'

"w" jest przykładem jeśli wpiszę coś co rzeczywiście występuje błąd jest taki sam.

2 odpowiedzi

+1 głos
odpowiedź 4 lipca 2022 przez Comandeer Guru (601,590 p.)
wybrane 4 lipca 2022 przez AgentTecza
 
Najlepsza

Problemem jest składnia zapytania – wartości otacza się w apostrofy (') lub cudzysłowy ("), nie gravisy (`). Te służą do oznaczania nazw kolumn czy tabeli. A więc:

$q = ("SELECT * FROM `testowynr` WHERE `Numerek` = '$w';");

Jednak wgl nie powinieneś wstawiać danych bezpośrednio do zapytania, zwłaszcza, że próbujesz używać prepared statements. Dobrze wykorzystane są najbezpieczniejszym sposobem odpytywania bazy danych

komentarz 4 lipca 2022 przez AgentTecza Obywatel (1,810 p.)
A jest jeszcze jakiś bardziej bezpieczny sposób połączenia bazy danych niż ten który używam ja?
1
komentarz 4 lipca 2022 przez Comandeer Guru (601,590 p.)
Samego łączenia nie, ale wykonywania zapytań – tak. Poczytaj dokładnie, jak wykorzystywać prepared statements, bo obecnie robisz to, niestety, źle.
+1 głos
odpowiedź 4 lipca 2022 przez wizarddos Nałogowiec (25,930 p.)

Źle bindujesz dane w kodzie do zapytania. Przeczytaj dokumentację, bo tam to jest opisane.

Podobne pytania

0 głosów
2 odpowiedzi 373 wizyt
pytanie zadane 14 maja 2020 w PHP przez spicedagger Użytkownik (530 p.)
0 głosów
1 odpowiedź 613 wizyt
0 głosów
1 odpowiedź 160 wizyt
pytanie zadane 26 listopada 2016 w PHP przez Grzdaczek Obywatel (1,070 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

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

...