以下の関数を使用して、必要に応じてデータベースからデータを取得し、OOP PHPを使用してビューページに結果を表示しようとしています。この関数は、DBからデータを引き出し:OOPのプロパティ値の設定と取得PHP
function getdata() {
$con = mysql_connect("localhost","root","XXXX");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("user", $con);
$sql="SELECT major FROM Education WHERE id=1";
$result=mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_row($result);
mysql_close($con);
}
だから、前の関数は、データベースからアクティブなユーザーの大学の専攻を取得します。次のように
function recommender() {
if (isset($this->collegemajor)) {
echo "Your major is on Facebook. You're majoring in $this->collegemajor.";
} else {
$this->getdata();
echo "Your major is in the DB. You're majoring in $this->collegemajor_db";
}
}
そしてcollegemajor_dbの値が設定されている:それは、その値が設定されている場合のみ、そのように、と呼ばれていますいくつかの理由
$collegemajor = isset($user_profile['education'][0]['concentration'][0]['name']) ? $user_profile['education'][0]['concentration'][0]['name'] : null ;
$collegemajor_db = isset($row['major']) ? $row['major'] : null ;
$profile = new profile ($collegemajor, $collegemajor_db);
$profile->recommender();
、私はこのコードを実行すると、ます$ this-> collegemajor_dbが入力されていません。 DB接続が機能し、私はオブジェクトプロパティcollegemajor_dbの値を設定しているだけです(私は推測します)。
'$ this-> collegemajor_db = isset($ row ['major'])の最初の部分はありませんか? $ row ['major']:null; 'それはちょうど転置エラーですか? – DaOgre
'$ collegemajor_db'の値をどこで設定しますか? (あなたは文章を表示しますが、この文章の実行場所を尋ねます) – danihp
コメント1では、それはオブジェクトの文脈ではありません。クラスの外にあり、上のコードを編集しました。 – buttonitup