Jak zrobić prostą wyszukiwarkę książek w PHP ?

0

Jak zrobić prostą wyszukiwarkę książek w PHP ? Wyświetlającą książki po podaniu tytułu i autorze ?

6

Tworzysz bazę danych, tabele, wypełniasz je danymi i przygotowujesz zapytania. W PHP się łączysz z bazą, wykonujesz te zapytania i wyświetlasz rezultat użytkownikowi na ekranie

0

Oczywiście jak w każdym temacie o PHP, wypadałoby wspomnieć, że lepiej z PHP już nie korzystać i od razu robić w C# albo Javie.

0

@pavarotti: nie lepiej skorzystać z gotowego API które ma tysiące pozycji w swoich zasobach?

0

@N3: Czy to jest poprawny zapis ?

if(isset($_GET['tytul']) && $_GET['autor'] != "") {

$wynik = mysqli_query($link,"SELECT * FROM Zamowienia where tytul = $row['%tytul%'] ");

0

Nie.

$wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');
2
N3 napisał(a):
$wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');

Czy w PHP nie trzeba już zabezpieczać danych przekazywanych przez $_GET przed SQL Injection?

0

A może autor nie potrzebuje SQL-a. Może zwykły plik CSV mu wystarczy?

0

Polecenie: $wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');

powoduje błąd Dziękuję za pomoc.

2

Bo to jest polecenie odczytu z bazy, jak już jesteś połączony z bazą.

Zobacz ten post i wątek:
https://4programmers.net/Forum/PHP/348672-jak_pobrac_dane_z_bazy_za_pomoca_pola_select?p=1741527#id1741527

1

@adamon - na forum nie nauczysz się programować, co najwyżej ktoś Cię może gdzieś nakierować.

Po drugie Twój kod jest nieprawidłowy, ponieważ jest podatny na atak typu SQL INJECTION.

Zamiast mysqli_query używaj biblioteki PDO i Prepared Statements.

PS.dlaczego wszyscy początkujący z uporem maniaka wciskają do kodu stare funkcje MySQL-a zamiast PDO, i dlaczego baza danych to zawsze MySQL a nie np. PostgreSQL czy cokolwiek innego. To jest jakiś rak.

1

@TomRZ

PS.dlaczego wszyscy początkujący z uporem maniaka wciskają do kodu stare funkcje MySQL-a zamiast PDO

Oj to ty tutoriala sprzed ćwierć wieku nie widziałeś :p

$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con) die('Could not connect: ' . mysql_error());

$sql = "SELECT * FROM Person";
mysql_query($sql,$con);

mysql_close($con);

i dlaczego baza danych to zawsze MySQL a nie np. PostgreSQL czy cokolwiek innego.

Że w temacie w sumie zielona jestem, to zapytam: co dolega MySQL?

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