Я относительно новичок в php и в процессе передачи поисковой системы я написал OOP.
Соответствующий код подключения SQL / класс sqlconnect1:
public function query($query){ $this->stmt = $this->dbh->prepare($query); } public function bind($param, $value, $type = null){ if (is_null($type)) { switch (true) { case is_int($value): $type = PDO::PARAM_INT; break; case is_bool($value): $type = PDO::PARAM_BOOL; break; case is_null($value): $type = PDO::PARAM_NULL; break; default: $type = PDO::PARAM_STR; } } $this->stmt->bindValue($param, $value, $type); } public function execute(){ return $this->stmt->execute(); } public function resultset(){ $this->execute(); return $this->stmt->fetch(PDO::FETCH_ASSOC); }
Пока цикл:
$search = new LoadSearch; $sqlconnect1 = new sqlconnect1; $sqlconnect1->query("SELECT * FROM data1 WHERE address_city LIKE 'austin' AND address_zip LIKE '78758'"); //Assign Variables and Display Record Results while ($row1 = $sqlconnect1->resultset()){ $Name1=$row1['name']; $Address1=$row1['address_1']; $City1=$row1['address_city']; $State1=$row1['address_state']; $ZIP1=$row1['address_zip']; $Country1=$row1['address_country']; $Phone1=$row1['phone']; $Website1=$row1['website']; $Category_11=$row1['category_1']; $Category_21=$row1['category_2']; echo" <!--Table 2--> <table class='table2'> <tr> <td></td><td><b>$Name1</b></td> </tr> <tr> <td></td><td>$Address1, $City1, $State1 $ZIP1</td> </tr> <tr> <td></td><td>$Country1</td> </tr> <tr> <td></td><td>$Phone1</td> </tr> <tr> <td></td><td>$Category_11</td> </tr> </table>";
Всякий раз, когда страница загружается, она повторяет первый результат запроса неограниченно и никогда не выходит за пределы первого результата. Любые советы будут очень признательны. Подобная настройка работала нормально, когда она была процедурной.