Я испытываю MySQL с объектно-ориентированного PHP, поэтому я создал БД с только одна таблица называется пользователей, которые я хочу, чтобы запросить с помощью классов PHP (функция вставки правильно работает)PHP Object и MYSQL запросов
Этот мой PHP класс пользователей:
<?php
class user{
var $name;
var $surname;
var $email;
var $age;
function set_user_properties($pname, $psurname, $pemail, $page){
include "include.php";
$sql = "INSERT INTO users (name, surname, email, age)
VALUES ('$pname', '$psurname','$pemail', '$page')";
if ($conn->query($sql) === TRUE){
echo "New record created successfully";
}else{
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
function get_user_properties($name){
include "include.php";
$sql3 = "SELECT name, surname, email, age
FROM users
WHERE name='$name'";
$result3 = $conn->query($sql3);
if ($result3->num_rows > 0) {
// output data of each row
while($row3 = $result3->fetch_assoc()) {
$this->name=$row3["name"];
$this->surname=$row3["surname"];
$this->email=$row3["email"];
$this->age=$row3["age"];
}
}
$conn->close();
return $this;
}
}
?>
И это страница, на которой я хочу, чтобы прочитать все результаты запроса:
<?php
include("class_lib.php");
$pname=$_POST["firstname"];
$user1=new user();
$user1->get_user_properties($pname);
echo $user1->name;
echo $user1->surname;
echo $user1->email;
echo $user1->age;
?>
Мой вопрос: когда я сделать запрос, который, как предполагается, более чем один результат (например, этот), как я могу передать все результаты на целевую страницу?
Хорошо, я постараюсь, но когда я вызвать метод в другой странице, как я должен сделать звонок? Я имею в виду, теперь «$ user1 = new user(); $ user1-> get_user_properties ($ pname);" но тогда как это будет? – user3712139
+1. Я обычно делаю это немного иначе: вместо того, чтобы иметь отдельный класс, который создает объекты 'user', у меня есть статическая функция, которая возвращает массив объектов' user' внутри самого класса –
@ user3712139 Все зависит от того, как вы напишите свой код. Если вы кодируете статическую функцию в пользовательском классе, например, @James Spense, это может выглядеть как '$ users = user :: get_users();' или если вы создаете класс db для выполнения запросов, он может выглядеть как '$ db = new db(); $ users = $ db-> get_users(); ' – janamargaret