Jak zrobić prostą wyszukiwarkę książek w PHP ? Wyświetlającą książki po podaniu tytułu i autorze ?
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
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.
@pavarotti: nie lepiej skorzystać z gotowego API które ma tysiące pozycji w swoich zasobach?
@N3: Czy to jest poprawny zapis ?
if(isset($_GET['tytul']) && $_GET['autor'] != "") {
$wynik = mysqli_query($link,"SELECT * FROM Zamowienia where tytul = $row['%tytul%'] ");
Nie.
$wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');
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?
A może autor nie potrzebuje SQL-a. Może zwykły plik CSV mu wystarczy?
Polecenie: $wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');
powoduje błąd Dziękuję za pomoc.
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
@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.
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?