Jestem początkujący jeśli chodzi o obiektówkę, dlatego też proszę o wyrozumiałość...
Mój problem polega na zapytaniu select z parametrem... Oczywiście wiem, że nie nie powinno tak wyglądać, ale próbuje już wszystkiego..
Zapytanie SELECT powinno wyglądać tak:
$sql = 'SELECT * FROM nazwa_tabeli'; $result = $pdo->query(sql);
Tyle wiem, ale co jeżeli chcę wprowadzić do niej parametr i nie wpisywać go bezpośrednio gdyż istnieje zagrożenie SQL Injection... ale już naprawdę nie mam na to pomysłu.. może Wy mi w tym pomożecie..
Wymyśliłem sobie oto taki zapis (konkretnie chodzi o metodę checkIfIsset()):
$sql = 'SELECT nrComp FROM 08925902_k1.employers WHERE nrComp = :nrComp'; $s = $pdo->prepare($sql); $s->bindValue(':nrComp', $this->nrComp); $s->execute();
Jak widać nie działa... bardzo Was proszę o pomoc...
Oto cały kod klasy:
<?php class RegisterEmployer{ public $nrComp; public $firstName; public $lastName; public $password; public $employers; public function __construct($nrComp, $firstName, $lastName, $password){ $this->nrComp = $nrComp; $this->firstName = $firstName; $this->lastName = $lastName; $this->password = $password; } public function wypiszDane(){ echo '<p class="bg-info">' .$this->nrComp.'<br>' .$this->firstName.'<br>' .$this->lastName.'<br>' .$this->password. '</p>'; } public function registerEmployer(){ self::checkIfIsset(); if($this->employers > 0){ }else{ try { include 'inc/database.php'; $sql = 'INSERT INTO 08925902.employers SET nrComp = :nrComp, firstName = :firstName, lastName = :lastName, password = :password '; $s = $pdo->prepare($sql); $s->bindValue(':nrComp', $this->nrComp); $s->bindValue(':firstName', $this->firstName); $s->bindValue(':lastName', $this->lastName); $s->bindValue(':password', SHA1($this->password)); $s->execute(); } catch (PDOException $e) { } } } public function checkIfIsset(){ try { include 'inc/database.php'; $sql = 'SELECT nrComp FROM 08925902.employers WHERE nrComp = :nrComp'; $s = $pdo->prepare($sql); $s->bindValue(':nrComp', $this->nrComp); $s->execute(); } catch (PDOException $e) { } } } ?>
kod uruchomienia:
<?php $employer = new RegisterEmployer($_POST['nrComp'], $_POST['employerFirstName'], $_POST['employerLastName'], $_POST['employerPass']); $employer->registerEmployer(); }else{ include 'sites/form_registerEmployer.php'; } ?>