nie rozumiem za bardzo tych kropek gdy wstawiam kod html w kodzie php i na odwrót. ktoś mógłby mi wytłumaczyć proszę? :)
0
<form action="" method="post">
nazwa: <input type="text" name="nazwa"></br>
<input type="submit" value="Dodaj"></form>
<?php
INCLUDE ('polacz.php');
$query = mysql_query("CREATE TABLE `formacjasl_da2`.`".$_POST['nazwa']."` (
`id` INT( 10 ) NOT NULL default ,
`nazwa` VARCHAR( ) NOT NULL ,
`rok` INT( 4 ) NOT NULL ,
`poziom` INT( 5 ) NOT NULL ,
`typ` INT( 1 ) NOT NULL ,
PRIMARY KEY ( `id` )
)")
1
Google: łączenie stringów php
.
To są podstawy podstaw z podstaw. Z takimi rzeczami nie przychodzi się na forum, naprawdę..
EDIT: Moment! Nie umiesz łączyć stringów i bierzesz się za bazy danych?!?!?!
0
- po pierwsze. dlaczego wstawiasz wartość z $_POST bezpośrednio do zapytania bez sprawdzania co user wysłał. aż się prosi o sql injection. http://zipmeme.com/uploads/generated/g1346968605628461767.jpg
- polecam funkcje sprintf do łączenia stringów - zwiększa czytelność
- dlaczego zapytanie "chyba niepoprawne"?
0
dawidgarus napisał(a):
- polecam funkcje sprintf do łączenia stringów - zwiększa czytelność
po co sprintf skoro można po prostu skorzystać z funkcjonalności wstawiania zmiennych bezpośrednio w cudzysłowach np:
"SELECT costam FROM costam WHERE kolumna='{$zmienna}' LIMIT 1"
0
dla czytelności? z tego samego powodu dla którego stosuje się szablony... żeby nie mieszać tekstu i zmiennych
dla mnie dużo czytelniejsze jest
$q = "SELECT {$kolumny} FROM {$tabela} WHERE {$kolumna1} = '{$wartosc1}' AND {$kolumna2} = '{wartosc2}'";
niż:
$q = sprintf("SELECT %s FROM %s WHERE %s = '%s' AND %s = '%s'", $kolumny, $tabela, $kolumna1, $wartosc1, $kolumna2, $wartosc2);
:D jeżeli sądzisz że drugi przykład jest czytelniejszy to pozdro&poćwicz ;)
w szablonach raczej miesza się tekst i zmienne i wyglądają mniej więcej tak jak linijka z mojego przykładu (smarty)
co najwyżej oddzielony jest kod...