 |
มือใหม่หัดขับ Oop php ครับ พอดีลองเขียน Class Connect sql แล้ว Query error |
|
 |
|
|
 |
 |
|
Code (PHP)
mysql_select_db("project1") or die (mysql_error());
คุณก็ Select แล้วน่ะครับ 
|
 |
 |
 |
 |
Date :
2012-05-13 06:29:12 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้ให้ไม่เป็นอะครับ แต่ไปเจอมาลองแบบนี้มันใช้ได้เหมือนกันป่าวครับ ถ้าผิดพลาดยังไงก็ขอโทษด้วยนะครับ มือใหม่เหมือนกัน >.<
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
class mySQL{
var $host;
var $username;
var $password;
var $database;
public $dbh; //Variable for storing connection
public function connect($set_host, $set_username, $set_password, $set_database){
$this->host = $set_host;
$this->username = $set_username;
$this->password = $set_password;
$this->database = $set_database;
$this->dbh = mysql_connect($this->host, $this->username, $this->password)or die("cannot connect"); //Store data connection specifier in object
mysql_query("SET NAMES UTF8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
mysql_select_db($this->database)or die("cannot select DB");
}
public function query($sql)
{
return mysql_query($sql,$this->dbh); //Specify connection handler when doing query
}
public function fetch($sql)
{
return mysql_fetch_array($this->query($sql));
}
}
$connect = new mySQL();
$connect->connect('localhost', 'root', '', 'project1');
$settings_query = mysql_query("SELECT * FROM member", $connect->dbh); //Specify connection handler when doing query
$settings = mysql_fetch_array($settings_query);
//With query method in object you can do this:
$settings_query = $connect->query("SELECT * FROM member"); //Use object method to query
$settings = mysql_fetch_array($settings_query);
//with fetch method in object you can just do this:
$settings = $connect->fetch("SELECT * FROM member");
//echo $settings['test'];
?>
|
 |
 |
 |
 |
Date :
2012-05-13 10:18:20 |
By :
phongphisut |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมรู้แล้วครับว่า มันผิดตรงไหน แก้ได้แล้วครับ มันขาดตัว connect ที่ select_db เลยเอาโค๊ดมาแปะเพื่อคนอื่นจะเอาไปเป็นแนวทางนะครับ เพราะเขียนอธิบายไว้ด้วยครับ
สิ่งที่แก้ไขผิดจากด้านบนนั้งลบแล้วพิมพ์ใหม่กว่าจะ Get
Code (PHP)
mysql_select_db( $idb_name,$this->ilink );
connect.inc.php
<?php
error_reporting(E_ALL); // คำสั่งแสดงผลที่มีการ Error ออกมา
class _MySql
{
//connect sql
private $ihost;
private $iuser;
private $ipass;
private $idb_name;
private $ilink; // เก็บค่า Connect MySQL
//mysql_query
private $_res;
//mysql_fetch_array
private $_fetch_array = array();
public function _ConnectSQL ($ihost , $iuser , $ipass , $idb_name) // รับค่า Connect Database
{
$this->ihost = $ihost; // hosting
$this->iuser = $iuser; // username database hosting
$this->ipass = $ipass; // password database hosting
$this->idb_name = $idb_name; // database name hosting
$this->ilink = mysql_connect( $this->ihost , $this->iuser , $this->ipass );
mysql_query ("SET NAMES UTF8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
mysql_select_db( $idb_name,$this->ilink );
//echo "Test Connect OK";
}
public function _QuerySQL ($strrs) // Msql_Query
{
return $this->_res = mysql_query($strrs);
}
public function _Num_Rows_SQL () // Mysql_Num_Rows
{
return mysql_num_rows($this->_res);
}
public function _Fetch_Array_SQL() // Mysql_Fetch_Array()
{
if ( count ( $this->_fetch_array ) > 0 ) // นับจำนวน _fetch_array ถ้าเท่ากับ 0 แสดงว่ามีค่าตัวแปร ถ้ามากว่า 0 แสดงว่าไม่มีค่าตัวแปร
{
return $this->_fetch_array;
}
else
{
while ( $row = mysql_fetch_array($this->_res) )
{
$this->_fetch_array[] = $row; // เก็บ _fetch_array เป็น Arrya โดยรับค่าจาก $row
}
return $this->_fetch_array;
}
//return mysql_fetch_array ($this->_res);
}
public function _CloseSQL()
{
return mysql_close($this->ilink);
}
}
$obj=new _MySql();
$obj->_ConnectSQL('localhost','root','','project1');
$obj->_QuerySQL("select * from member") or die (mysql_error());
echo $obj->_Num_Rows_SQL() or die (mysql_error());
print_r ($obj->_Fetch_Array_SQL()) or die (mysql_error());
$obj->_CloseSQL() or die (mysql_error());
?>
Ps. ถามต่อครับ ผมจะเอา Session หรือ Cooking ไปใช้ใน Class ยังไงอะครับ ขอตัวอย่างหน่อยได้ไมครับ เพราะที่จะเขียนต่อไปคือ LOGIN ติดแค่ เอา SESSION กับ COOKIE ไปใช้อะครับ
|
 |
 |
 |
 |
Date :
2012-05-14 02:13:11 |
By :
thethaicom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|