Я в основном дизайнер и не имею большого опыта работы с ООП в PHP, поэтому, пожалуйста, будьте добры, поскольку моя терминология может быть не совсем точной. Это синтаксис PHP/OOP, с которым мне больше всего нужна помощь, и я несколько раз искал решение здесь и в Google, поскольку я предполагал, что это будет довольно прямой вопрос, но не нашел ничего, чтобы помочь.
Я пытаюсь создать метод класса, который извлекает данные учетной записи клиента из базы данных, используя идентификатор учетной записи клиента. Есть около 20 переменных, которые я хочу получить и получить доступ к ним на разных страницах моего сайта.
Вот мой файл класса (classfile.php):
class Accounts{
// Function to get client data from database.
public function getAccount($acctId){
require("/var/www/vhosts/aqios.com/httpdocs/00omvat/dbinfo.php");
mysql_connect("localhost","user","password") or die();
mysql_select_db("database") or die();
$query = "SELECT * FROM clients WHERE id='$acctId' LIMIT 1";
$result = mysql_query($query) or die();
while($row = mysql_fetch_array($result)){
$this->$firstName = $row["firstName"];
$this->$lastName = $row["lastName"];
$this->$address1 = $row["address1"];
$this->$address2 = $row["address2"];
$this->$city = $row["city"];
$this->$state = $row["state"];
//etc., etc.
}
mysql_close();
}
}
Вот одна из моих страниц (index.php):
include_once('classfile.php');
$acctId = 111111;
$object = new Accounts();
$object->getAccount($acctId); //Script dies unless I comment this line out.
Прежде всего, сценарий умирает, если я не закомментирую последнюю строку, так что что-то не так с моим синтаксисом. Но что мне действительно нужно знать, так это как вызвать и поместить город или любую другую из этих переменных на мою страницу? Я не знаю правильного синтаксиса. Я не могу представить, что это будет $object->getAccount($acctId)->$city. Я знаю, что это неправильно. Как мне вызвать город или любую другую переменную из этого объекта?
Кроме того, я знаю, что мне следует использовать другой метод для подключения к моей базе данных, и я сделаю это, как только сначала разберусь с этим.
Заранее благодарим вас за любую помощь, которую вы можете предложить!
Джейсон
mysql_*
. С другой стороны, доступ к объектному свойству $firstName должен осуществляться так:$this->firstName
, но сначала он должен быть инициализирован в классе, т.е.class Accounts { public $firstName; public $lastName; //... public function getAccount(...
- person Royal Bg   schedule 30.10.2013