助けを求めてください。学習プロセス中、Sqlhelper クラスの接続は常に正しくありません。
ログイン アプレットの作成方法を学習します。 3 つのファイル SqlHelper.class.php、loginProcess.php、AdminService.class.php
Zend 開発ツールを使用しています。コードを実行すると、常に次のレポートが表示されます。 警告: mysql_query(): 指定された引数は、C:wampwwwempManageSqlHelper.class.php の 20 行目
にある有効な MySQL-Link リソースではありません。
クラスをインスタンス化した後のコンストラクターに問題があると思います。
しかし、常に解決できるわけではありません。誰かが見てみるのを手伝ってくれることを願っています。ありがとうございました
SqlHelper.class.php
<br /> <?php<br /> class SqlHelper{<br /> //声明类成员<br /> public $conn;<br /> public $dbname="emp";<br /> public $username="root";<br /> public $password="";<br /> public $host="localhost";<br /> //构造函数<br /> public function _construct(){<br /> $this->conn=mysql_connect($this->host,$this->username,$this->password);<br /> if (!$this->conn) {<br /> die("连接失败".mysql_error());<br /> }<br /> mysql_select_db($this->dbname,$this->conn);<br /> }<br /> <br /> // 执行dql语句<br /> public function excute_dql($sql){<br /> $res=mysql_query($sql,$this->conn) or die(mysql_error());<br /> return $res;<br /> }<br /> <br /> //执行dml语句<br /> public function excute_dml($sql){<br /> $b=mysql_query($sql,$this->conn);<br /> if (!$b){<br /> return 0;<br /> }else{<br /> if(mysql_affected_rows($this->conn)>0){<br /> return 1;//表示执行OK<br /> } else{<br /> return 2;//表示执行没有行受到影响<br /> }<br /> <br /> }<br /> <br /> <br /> }<br /> //关闭数据库连接<br /> public function close_connect(){<br /> if (!empty($this->conn)){ <br /> mysql_close($this->conn);<br /> }<br /> }<br /> }<br /> ?><br />
<br /> <?php<br /> require_once 'SqlHelper.class.php';<br /> class AdminService{<br /> public function checkAdmin($id,$password){<br /> $sql="select * from admin where id=$id";<br /> //创建一个SqlHelper对象<br /> $sqlHelper=new SqlHelper();<br /> $res=$sqlHelper->excute_dql($sql);//我把这个结果给你,你怎么处理是你的事情<br /> if ($row=mysql_fetch_assoc($res)){<br /> if ($password==$row['password']){<br /> return $row['name'];<br /> }<br /> }<br /> //关闭资源<br /> mysql_free_result($res);<br /> $sqlHelper->close_connect();<br /> //关闭连接<br /> return "";<br /> }<br /> }<br /> ?><br /> <br />