- PR -

PHP4で作成したクラスの戻り値が取得できない

1
投稿者投稿内容
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2005-10-18 10:56
msoです。

PHP4.3で以下のようなDBアクセスクラスを作成し、
テストをしたのですが、
コード:
   $result = $db->Query($sql);


で$result に値がセットされません。
SQLに問題があるというわけではないのですが、
PHP4ではこのような返し方はNGなのでしょうか?



コード:
<?php

class DB{
	var $id;
	var $result; // フィールド

	// コンストラクタ(データベースに接続し、スキーマ選択)
	function DB(){

		$host	= "localhost";
		$user	= "management";
		$pass	= "management";
		$dbname	= "management";

		$this->id = @mysql_connect($host,$user,$pass) or die("Could not connect MySQL server");
		@mysql_select_db($dbname) or die("Could not use selected database");

		return $this->id;

	 }

	// メソッドClose(データベースからの接続をクローズ)
	function Close(){
		  @mysql_close($this->id) or die("Could not close database");
	}

	// メソッドQuery(データベースにSQLクエリーを送る)
	function Query(&$sql){
		$this->result = mysql_query($sql) or die("Could not query of [ $sql ]");
		return $this->result;
	}

	// メソッドAffected_rows(変更された行数を返す)
	function Affected_rows(){
		$this->result = mysql_affected_rows() or die("Could not query of [ mysql_affected_rows ]");
		return $this->result;
	}

}

?>



コード:
<?php

require ("clsDb.php");

?>

<html>
<head>
<title>test</title>
</head>
<body>
<?php


$db = new DB();

$sql = "SELECT * FROM TEST";
$result = $db->Query($sql);
while ($row = mysql_fetch_array($result)) { // SQLで読み出されたすべての行を参照する
	ECHO $row['CODE'] . "<BR>";
	ECHO $row['NAME'] . "<BR>";
}



?>
</body>
</html>


くぅ
会議室デビュー日: 2005/09/29
投稿数: 1
投稿日時: 2005-10-18 11:31
引用:

// メソッドQuery(データベースにSQLクエリーを送る)
function Query(&$sql){
$this->result = mysql_query($sql) or die("Could not query of [ $sql ]");
return $this->result;
}

// メソッドAffected_rows(変更された行数を返す)
function Affected_rows(){
$this->result = mysql_affected_rows() or die("Could not query of [ mysql_affected_rows ]");
return $this->result;
}



"$this->result" の'r'が全角なのはtypoですか?
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2005-10-19 01:40
msoです。

引用:

くぅさんの書き込み (2005-10-18 11:31) より:

"$this->result" の'r'が全角なのはtypoですか?



えっと・・・・凡ミスでした。
バグを指摘して頂きありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)