ホームページ  >  記事  >  バックエンド開発  >  。学習プロセス中、Sqlhelper クラスの接続は常に正しくありません。

。学習プロセス中、Sqlhelper クラスの接続は常に正しくありません。

WBOY
WBOYオリジナル
2016-06-13 12:58:00676ブラウズ

助けを求めてください。学習プロセス中、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 />


AdminService.class.php:
<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 />


loginProcess.php
require_once 'AdminService.class.php';
$id=$_POST['id'];
$password=$_POST['パスワード'];

$adminService=new AdminService();
if($name=$adminService->checkAdmin($id,$password)){
header("Location:empMain.php?name=$name");
終了(); } else{
header("Location:login.php?errno=1");
exit();
}



-----解決策---------

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。