Witam,
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 {
echo '<center><h2>Niestety pokój jest zarezerwowany</center></h2>'; echo 'Pokój zostanie opuszczony: '; foreach ($db->rows() as $rezerwacje){
echo $rezerwacje['dokiedy']. '<br />Wybierz inną datę lub pokój ';
}
}
?>
Plik z metodami
<?php
class Rezerwacja {
protected $_polaczenie, $_result, $_numRows;
public function __construct($host, $username, $password, $dbName){
}
public function query($sql){
$this->_result
= mysql_query($sql, $this->_polaczenie
); }
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(){
}
}
?>