PDA

View Full Version : Mysqlゎ瓏盂


unagyo
2002/02/17, 03:39 AM
SQLへの接続が上手く行かなくて困っています。
かなりの時間いろいろなことを考えてみましたがだめでした。
自分で調べるべきなのですが家の環境では動作するので
なぜ動かないのかわかりません。
助言をお願いいたします。
以下のようなクラスをつくり、

<?php
/***************************
  データベース接続クラス

file name:Class_db_connect.ini

メンバ変数:dbname
hostname
username
con

メンバ関数:db_connect()
getconnection()
doconnect()
doclose()
****************************/


class db_connect{
var $password = "********";
var $hostname = "localhost";
var $username = "unagyo";
var $con = false;

function db_connect(){
$this->getconnection();
}


function getconnection(){
if($this->con == false){
return($this->doconnect());
}
return($this->con);
}


function doconnect(){
$this->con = mysql_connect($this->hostname,$this->username,$this->password);
if($this->con == false){
print("Error");
exit;
}
return($this->con);
}


function doclose(){
if($this->con != false){
mysql_close($this->con);
$this->con = false;
}
}
}

?>

以下のようにしました。

$databese=unagyo;

$db_handler=new db_connect; /*オブジェクト生成*/

mysql_select_db($databese);

$sql = "select * from 作成したテーブル";
$result = mysql_query($sql);

しかしこのエラーが出ます。
Warning: Supplied argument is not a valid MySQL result resource in /virtual/unagyo/shared_html/php/login.php on line 21

これはSQLに接続できていないのでしょうか?
どうしてもテーブルのデータが取り出せません。
お願いいたします。

YukiKis
2002/02/20, 02:13 AM
クラスの中で判定、メソッド移動の様にやってますが、
これならばわざわざメソッドを分ける必要は無いのではないでしょうか?
再利用性を考えてもまとめても大丈夫ではないでしょうか。

class db_connect{
var $passwd,$hostname,$user;
var $con="false";

function db_connect($u,$p,$h="localhost"){
$this->hostname = $h;
$this->user = $u;
$this->passwd = $p;

if($this->con == false){
$this->con = mysql_connect($this->hostname,$this->username,$this->password);

if($this->con == false){
print("Error");
exit;
}

return($this->con);
}

return($this->con);
}
===以下略===

// コンストラクタで接続
$db = new db_connect("unagyo","******");
===以下略===