chciałem przepisać swój kod do rezerwacji pokoju hotelowego na OOP, jednak pojawił się problem z INSERT INTO. Działał on w takiej postaci w kodzie strukturalnym, a teraz wywala standardowy błąd że mysql_num_rows oczekuje 1 parametru. Bardzo proszę o pomoc.
Plik główny
<?php require_once 'rezerwacja.php'; $id_pokoje=$_POST['id_pokoje']; $imie=$_POST['imie']; $nazwisko=$_POST['nazwisko']; $pobyt_od=$_POST['pobyt_od']; $pobyt_do=$_POST['pobyt_do']; $telefon=$_POST['telefon']; $pokoj=$_POST['id_pokoje']; $db = new Rezerwacja('localhost', 'root', '', 'hotel'); $db->query ("SELECT * from rezerwacja WHERE odkiedy<='$pobyt_od' and dokiedy >='$pobyt_od' AND idpokoju='$pokoj' UNION ALL (SELECT * from rezerwacja WHERE odkiedy between '$pobyt_od' and '$pobyt_do' AND idpokoju='$pokoj') UNION ALL (SELECT * from rezerwacja WHERE dokiedy between '$pobyt_od' and '$pobyt_do' AND idpokoju='$pokoj')"); if ($db->numRows()==0){ $db->id(); $db->query ("INSERT INTO `gosc` (goscid, imie, nazwisko, telefon) VALUES ('$tmp[max]','$imie','$nazwisko','$telefon')"); } else { foreach ($db->rows() as $rezerwacje){ } } ?>
Plik z metodami
<?php class Rezerwacja { protected $_polaczenie, $_result, $_numRows; public function __construct($host, $username, $password, $dbName){ } public function query($sql){ } public function disconnect(){ } public function numRows(){ return $this->_numRows; } public function rows(){ for($x = 0; $x < $this->numRows(); $x++){ return $rows; } } public function id (){ $tmp['max']++; } public function rowsonly(){ } } ?>