Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie zapytania mysql
Pinki18
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.03.2014

Ostrzeżenie: (0%)
-----


Dzień Dobry.

Mam takie zapytanie:

Kod
$q = "INSERT INTO awizo (
IDFirmy,Kierowca,
$reszta
CzasStart) VALUES (
'$IDFirmy','$Kierowca',
\"$reszta2\"
'$CzasStart')";



Chciałbym, aby tworzyło się ono dynamicznie o zmienne $reszta i $reszta2

Zrobiłem coś takiego:
Kod
$reszta   = '';
$reszta2 = '';

$KierowcaTelefon = '604123123';
$NrRejestracyjny = 'WE12312';

if (!empty($KierowcaTelefon)) { $reszta = 'KierowcaTelefon,'; $reszta2 = '$KierowcaTelefon,';} else { $reszta = ''; $reszta2 = ''; };
if (!empty($NrRejestracyjny)) { $reszta = 'NrRejestracyjny,';  $reszta2 = '$NrRejestracyjny,';} else { $reszta = ''; $reszta2 = ''; };


Zmienna $reszta generuje się dobrze i poprawnie dodawana jest do zapytania. Problem jest ze zmienną $reszta2. Po wywołaniu zapytania mam:

Kod
INSERT INTO awizo (
IDFirmy,Kierowca,
KierowcaTelefon,NrRejestracyjny,
CzasStart
) VALUES (
'3','Adam',
"$KierowcaTelefon,$NrRejestracyjny"
'2016-03-18 18:00:00')



Jak to powinno wyglądać, aby poprawnie wstawiał wyniki zmiennych $KierowcaTelefon, $NrRejestracyjny do zapytania.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pinki18
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.03.2014

Ostrzeżenie: (0%)
-----


Cytat(Salvation @ 18.03.2016, 12:03:11 ) *
A po co w tych wartościach, które będziesz INSERTował jest przecinek? No i wg mnie zapytanie powinno wyglądać tak:
  1. $sql = "INSERT INTO `awizo` (`IDFirmy`, `Kierowca`, `$reszta`, `CzasStart`) VALUES ('$IDFirmy', '$Kierowca', '$reszta2', '$CzasStart')";

No i to jest niczym nie zabezpieczone, polecam skorzystać z PDO.


Dane z post mam tak:
Kod
$KierowcaTelefon  = strip_tags($_POST['KierowcaTelefon']);


Zrobiłem to jak wyżej, aby skracał zapytanie jeśli jakaś zmienna jest pusta. W bazie pola mam ustawione domyślnie jako NULL.

Próbowałem wcześniej tak:
Kod
$KierowcaTelefon  = strip_tags($_POST['KierowcaTelefon']);
$NrRejestracyjny  = strip_tags($_POST['NrRejestracyjny']);

if (empty($KierowcaTelefon)) { $KierowcaTelefon = NULL; };
if (empty($NrRejestracyjny)) { $NrRejestracyjny = NULL; };

$q = "INSERT INTO awizo (
IDFirmy,Kierowca,KierowcaTelefon,NrRejestracyjny,CzasStart)
VALUES (
'$IDFirmy','$Kierowca','$KierowcaTelefon','$KierowcaTelefon','$CzasStart')";


Ale wstawia do bazy NULL jako teks a nie definiuje tego pola jako NULL.
Próbowałem też tak:
Kod
'$IDFirmy','$Kierowca',$KierowcaTelefon,$KierowcaTelefon,'$CzasStart')";


ale głupieje jak są spacje.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 11:58