请教一下,这样写连接数据库的类可以吗? $test=new mysql; $test->conn("localhost","root",""); $test->select("study");这样用可以吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?class DB { var $Host = "localhost"; // Hostname of our MySQL server var $Database = "user"; // Logical database name on that server var $User = "root"; // Database user var $Password = "12345"; // Database user's password var $UseODBCCursor = 0; var $Link_ID = 0; // Result of mysql_connect() var $Query_ID = 0; // Result of most recent mysql_query() // var $Record = array(); // Current mysql_fetch_array()-result var $Row = 0; // Current row number var $Errno = 0; // Error state of query var $Error = ""; var $Auto_Free = 0; ## set this to 1 to automatically free results function Halt($msg) { printf("</td></tr></table><b>Database error:</b> %s<br>\n", $msg); printf("<b>ODBC Error</b>: %s (%s)<br>\n", $this->Errno, $this->Error); die("Session halted."); } function Connect() { if ( 0 == $this->Link_ID ) { $this->Link_ID=mysql_pconnect($this->Host, $this->User, $this->Password); if (!$this->Link_ID) { $this->halt("Link-ID == false, mysql_connect failed"); } mysql_select_db($this->Database, $this->Link_ID); } } /* function Close() { if (0 != $this->Link_ID){ odbc_close($this->Link_ID); } } */ function Query($Query_String, $dbName=C_DB_NAME) { $this->Connect(); $this->Database = $dbName; $this->Query_ID = mysql_query($Query_String); $this->Row = 0; if (!$this->Query_ID) { $this->Errno = 1; $this->Error = "General Error (The MySQL interface cannot return detailed error messages)."; $this->halt("Invalid SQL: ".$Query_String); } return $this->Query_ID; } function NextRecord() { $this->Record = array(); $this->Record = mysql_fetch_array($this->Query_ID); if(!$this->Record) return 0; while($field = each($this->Record)) { $this->Record[strtolower($field[0])] = $field[1]; } return $this->Record; } function Seek($pos) { @mysql_data_seek($this->Query_ID, $pos); } function MetaData($table) { $count = 0; $id = 0; $res = array(); $this->Connect(); $id = mysql_db_query($this->Database,"select * from $table"); if (!$id) { $this->Errno = 1; $this->Error = "General Error (The ODBC interface cannot return detailed error messages)."; $this->halt("Metadata query failed."); } $count = mysql_num_fields($id); for ($i=1; $i<=$count; $i++) { $field = mysql_fetch_field($id); $res[$i-1]["table"] = $table; $res[$i-1]["name"] = $field->name; $res[$i-1]["type"] = $field->type; } mysql_free_result($id); return $res; } function NumRows() { return mysql_num_rows($this->Query_ID); } function NumFields() { return count($this->Record)/2; } function AffectedRows() { return mysql_num_rows($this->Query_ID); } function close() { mysql_free_result($this->Query_ID); }}?> 哇,好全,谢谢!刚接触类还不太熟悉,假如有个 表名为 study里面有字段 id,name,tel我想把里面信息读出怎么写呢? 找几个免费论坛的源代码看一下数据库连接部分就明白了。discuz2.0 db_mysql部分. function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) { if($pconnect) { if(!@mysql_pconnect($dbhost, $dbuser, $dbpw)) { $this->halt('Can not connect to MySQL server'); } } else { if(!@mysql_connect($dbhost, $dbuser, $dbpw)) { $this->halt('Can not connect to MySQL server'); } } mysql_select_db($dbname); } function select_db($dbname) { return mysql_select_db($dbname); } Pear 库中有很好的 Pear_DB 类,为什么不用? ADODB 是王道,不过大了点不过你写的也忒简单了,不能使用 www.connectionstrings.com连啥都有 关与跨域请求 zend studio 默认字符编码问题,新建php页默认gbk如何改成UTF8? 求一个替换 关于绝对路径的问题 一段代码的不解 php把记录插入SQL Server 2000的问题,在线等 写段代码,要求能够遍历出所有的英文单词 php中把字母转换成ASCII的时候该用什么函数来转换? 超难度问题: PHP中如何读出MSSQL中的BLOB中的PDF 文件和JPG文件 求助!!c:/php/sapi/php4apache2.dll是存在的,为什么不能加载?报错信息为````````` mysql启动不了了 很久没有用php了,问几个问题,关于时间比较等
var $Host = "localhost"; // Hostname of our MySQL server
var $Database = "user"; // Logical database name on that server
var $User = "root"; // Database user
var $Password = "12345"; // Database user's password
var $UseODBCCursor = 0; var $Link_ID = 0; // Result of mysql_connect()
var $Query_ID = 0; // Result of most recent mysql_query()
// var $Record = array(); // Current mysql_fetch_array()-result
var $Row = 0; // Current row number
var $Errno = 0; // Error state of query
var $Error = ""; var $Auto_Free = 0; ## set this to 1 to automatically free results
function Halt($msg)
{
printf("</td></tr></table><b>Database error:</b> %s<br>\n", $msg);
printf("<b>ODBC Error</b>: %s (%s)<br>\n",
$this->Errno,
$this->Error);
die("Session halted.");
}
function Connect()
{
if ( 0 == $this->Link_ID ) { $this->Link_ID=mysql_pconnect($this->Host, $this->User, $this->Password);
if (!$this->Link_ID) {
$this->halt("Link-ID == false, mysql_connect failed");
}
mysql_select_db($this->Database, $this->Link_ID);
}
}
/*
function Close()
{
if (0 != $this->Link_ID){
odbc_close($this->Link_ID);
}
}
*/ function Query($Query_String, $dbName=C_DB_NAME)
{
$this->Connect();
$this->Database = $dbName; $this->Query_ID = mysql_query($Query_String);
$this->Row = 0; if (!$this->Query_ID) {
$this->Errno = 1;
$this->Error = "General Error (The MySQL interface cannot return detailed error messages).";
$this->halt("Invalid SQL: ".$Query_String);
}
return $this->Query_ID;
} function NextRecord()
{
$this->Record = array();
$this->Record = mysql_fetch_array($this->Query_ID);
if(!$this->Record) return 0;
while($field = each($this->Record))
{ $this->Record[strtolower($field[0])] = $field[1];
}
return $this->Record;
} function Seek($pos)
{
@mysql_data_seek($this->Query_ID, $pos);
} function MetaData($table)
{
$count = 0;
$id = 0;
$res = array(); $this->Connect();
$id = mysql_db_query($this->Database,"select * from $table");
if (!$id) {
$this->Errno = 1;
$this->Error = "General Error (The ODBC interface cannot return detailed error messages).";
$this->halt("Metadata query failed.");
}
$count = mysql_num_fields($id); for ($i=1; $i<=$count; $i++) {
$field = mysql_fetch_field($id);
$res[$i-1]["table"] = $table;
$res[$i-1]["name"] = $field->name;
$res[$i-1]["type"] = $field->type;
} mysql_free_result($id);
return $res;
} function NumRows()
{
return mysql_num_rows($this->Query_ID);
}
function NumFields()
{
return count($this->Record)/2;
} function AffectedRows()
{
return mysql_num_rows($this->Query_ID);
} function close()
{ mysql_free_result($this->Query_ID);
}}
?>
假如有个 表名为 study
里面有字段 id,name,tel
我想把里面信息读出怎么写呢?
discuz2.0 db_mysql部分. function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0)
{
if($pconnect)
{
if(!@mysql_pconnect($dbhost, $dbuser, $dbpw))
{
$this->halt('Can not connect to MySQL server');
}
}
else
{
if(!@mysql_connect($dbhost, $dbuser, $dbpw))
{
$this->halt('Can not connect to MySQL server');
}
} mysql_select_db($dbname);
} function select_db($dbname)
{
return mysql_select_db($dbname);
}
连啥都有