MySQL との接続を容易にするクラスを構築していますが、T_CONSTANT_ENCAPSED_STRING エラーが発生します。文字列と関係があると思いますが、何も問題はありません。
コードは次のとおりです。
<?php
class mysql
{
private $host;
private $user;
private $pass;
private $connection;
private $database;
private $result;
public function __construct()
{
$this -> $host = 'localhost';
$this -> $user = 'root';
$this -> $pass = '';
}
public function connect($_host, $_user, $_pass)
{
if (isset('$_host')) $this -> $host = $_host;
if (isset('$_user')) $this -> $user = $_user;
if (isset('$_pass')) $this -> $pass = $_pass;
$this -> disconnect();
$this -> $connection = mysql_connect($this -> $server, $this -> $user, $this -> $pass);
if (! $this -> $connection) return mysql_error();
else return true;
}
public function isconnected()
{
if(is_resource($this -> $connection) && get_resource_type($this -> $connection) === 'mysql link') return true;
else return false;
}
public function disconnect()
{
if ($this -> isconnected()) mysql_close($this -> $connection);
}
private function setdb($_dbname)
{
$this -> $database = $_dbname;
if (! mysql_select_db($this -> $database, $this -> $connection)) return mysql_error();
else return true;
}
public function runquery($_query)
{
if(! isset($database)) return mysql_error();
else return mysql_query($_query,$this -> $connection);
}
public function __destruct()
{
$this -> disconnect();
unset($this -> $host);
unset($this -> $user);
unset($this -> $pass);
unset($this -> $connection);
unset($this -> $database);
unset($this -> $result);
}
}
$phpmyadmin = new mysql();
echo $phpmyadmin.connect('localhost','root','');
echo $phpmyadmin.setdb('DBTEST');
$result = $phpmyadmin.runquery("SELECT * FROM TABTEST");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo $row['PERSON_NAME'];
}
?>
私が得るエラーは次のとおりです。
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\xampp\htdocs\test\mysql\mysql.php on line 20
20行目は明らかに次のとおりです。
if (isset('$_host')) $this -> $host = $_host;
何が間違っている可能性がありますか?
編集:ありがとう。構文エラーを修正しましたが、新しいエラーが表示されるようです: Fatal error: Cannot access empty property in C:\xampp\htdocs\test\mysql\mysql.php on line 13