![$row = db_get_row("select * from user where id=".$_SESSION["id"]);里_row的意思,第1张 $row = db_get_row("select * from user where id=".$_SESSION["id"]);里_row的意思,第1张](/aiimages/%24row+%3D+db_get_row%28%26quot%3Bselect+%2A+from+user+where+id%3D%26quot%3B.%24_SESSION%5B%26quot%3Bid%26quot%3B%5D%29%3B%E9%87%8C_row%E7%9A%84%E6%84%8F%E6%80%9D.png)
第二个方法 getLastInsertId 是获得 上一次插入数据库后产生的自增ID,插入一条数据库必定会产生这条插入记录的ID,返回的就是这个ID
第三个方法 getCol 执行一条sql语句,并且获取这个字段的值,返回的是一个数组
第四个个方法 query 执行一条sql语句
第五个方法 getVersion 获得mysql版本信息
第六个方法 是否提示 mysql 调试信息。
save($table, $field_values) 这个方法 $table 就是想要插入的数据库表名,$field_values就是想要插入的数据 比如说 现在有一个新用户注册 用户表名字为 user 里面有三个字段,id 自增ID ,name 用户名 pass 用户密码 那么 $field_values 就是 $field_values=array('name'=>'某某','pass'=>'123')
调用方法
$db->save('user',$field_values)$db是实例化这个类的
$id=$db->getLastInsertId() 这样 user表里就多了一条数据 ID为$id,用户名为某某,密码为123
getCol 方法 就是执行一条mysql语句 返回一个变量 一般查询得到的记录都是数组
$sql="select name from user where id=".$id." "//查询user表里的用户名的值 指定ID为$id
id=$db->getCol($sql)
function getCol($sql) {
$res = $this->query( $sql )//这里是执行这条mysql语句
if ($res !== false) {//判断是否执行成功,如果成功则继续,否则返回false
$arr = array ()//初始化一个数组
$row = mysql_fetch_row ($res)//这里得到查询这条mysql语句后得到的数组值 打印出来后 应该是 $row=array('name'=>'某某')
while ($row) {//如果查询成功,并且获得数据
$arr [] = $row [0]//这里很矛盾,查询出来的本来是个数组为什么还要返回一个数组 。应该 return $row [0]
$row = mysql_fetch_row ($res)//这条是多余的可以删除
} return $arr
} else {
return false
}
}
我也刚刚学PHP,正在研究中,虽然你只给10分........首先,将代码保存到一个文件,如:mysql.class.php
其次,在一个常用的文件里调用:比如头部文件header.php,因为我放在根目录所以用下面方式导入其他文件:
require dirname(__FILE__) . 'include/config.php'
//导入类文件
require dirname(__FILE__) . 'include/mysql.class.php'
//定义一个类及初始化数据库类
$db = new mysql($db_host, $db_user, $db_pass, $db_name)
$db_host = $db_user = $db_pass = $db_name = NULL
然后,在test.php文件调用:
require_once dirname(__FILE__) . '/header.php'
使用方法:
$sql = "读取表"
$res = $db->query($sql)
$info = array()//定义数组
while($row=$db->fetchRow($res))
{
$arr['id'] = $row['id']
$arr['title'] = $row['title']
$info[] = $arr
}
可以在显示的地方用:
foreach($info as $i)
{
echo $i['title']."<br />"
}
或是直接使用while
还用另一种调用方式:
$here_area = $db->getRow("select areaid,areaname from {$table}area where areaid='$areaid'")
$here[] = array('name'=>$here_area['areaname'],'id'=>$here_area['areaid'])
测试通过,因为我正在使用.....................................
config.php代码:
<?php
$db_host = "localhost"
$db_name = "test"
$db_user = "root"
$db_pass = ""
$table = "mini_"
$charset = "gb2312"
$dbcharset = "gbk"
?>
mysql.class.php代码:
<?php
class mysql
{
var $link= NULL
//自动执行__construct php5类构建方法,如果PHP4和PHP5同时使用会自动使用PHP5的方法
function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)
{
//自动执行时调用mysql函数
$this->mysql($dbhost, $dbuser, $dbpw, $dbname, $pconnect, $quiet)
}
//php4类构建方法,如果没有 __construct 就自动执行此功能
function mysql($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)
{
if ($quiet)
{
$this->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, $quiet)
}
else
{
$this->settings = array(
'dbhost' =>$dbhost,
'dbuser' =>$dbuser,
'dbpw' =>$dbpw,
'dbname' =>$dbname,
'charset' =>$charset,
'pconnect' =>$pconnect
)
}
}
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)
{
global $dbcharset
if ($pconnect)
{
if (!($this->link = @mysql_pconnect($dbhost, $dbuser, $dbpw)))
{
if (!$quiet)
{
$this->ErrorMsg("Can't pConnect MySQL Server($dbhost)!")
}
return false
}
}
else
{
if (PHP_VERSION >= '4.2')
{
$this->link = @mysql_connect($dbhost, $dbuser, $dbpw, true)
}
else
{
$this->link = @mysql_connect($dbhost, $dbuser, $dbpw)
mt_srand((double)microtime() * 1000000)
}
if (!$this->link)
{
if (!$quiet)
{
$this->ErrorMsg("Can't Connect MySQL Server($dbhost)!")
}
return false
}
}
$this->dbhash = md5($this->root_path . $dbhost . $dbuser . $dbpw . $dbname)
$this->version = mysql_get_server_info($this->link)
if ($this->version >'4.1')
{
if ($dbcharset != 'latin1')
{
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->link)
}
if ($this->version >'5.0.1')
{
mysql_query("SET sql_mode=''", $this->link)
}
}
if ($dbname)
{
if (mysql_select_db($dbname, $this->link) === false )
{
if (!$quiet)
{
$this->ErrorMsg("Can't select MySQL database($dbname)!")
}
return false
}
else
{
return true
}
}
else
{
return true
}
}
function query($sql, $type = '')
{
if ($this->link === NULL)
{
$this->connect($this->settings['dbhost'], $this->settings['dbuser'], $this->settings['dbpw'], $this->settings['dbname'], $this->settings['charset'], $this->settings['pconnect'])
$this->settings = array()
}
if ($this->queryCount++ <= 99)
{
$this->queryLog[] = $sql
}
if ($this->queryTime == '')
{
if (PHP_VERSION >= '5.0.0')
{
$this->queryTime = microtime(true)
}
else
{
$this->queryTime = microtime()
}
}
if (!($query = mysql_query($sql, $this->link)) &&$type != 'SILENT')
{
$this->error_message[]['message'] = 'MySQL Query Error'
$this->error_message[]['sql'] = $sql
$this->error_message[]['error'] = mysql_error($this->link)
$this->error_message[]['errno'] = mysql_errno($this->link)
$this->ErrorMsg()
return false
}
return $query
}
function affected_rows()
{
return mysql_affected_rows($this->link)
}
function num_fields($query)
{
return mysql_num_fields($query)
}
function error()
{
return mysql_error($this->link)
}
function errno()
{
return mysql_errno($this->link)
}
function num_rows($query)
{
return mysql_num_rows($query)
}
function insert_id()
{
return mysql_insert_id($this->link)
}
function fetchRow($query)
{
return mysql_fetch_assoc($query)
}
function fetcharray($query)
{
return mysql_fetch_array($query)
}
function version()
{
return $this->version
}
function close()
{
return mysql_close($this->link)
}
function ErrorMsg($message = '', $sql = '')
{
if ($message)
{
echo "$message\n\n"
}
else
{
echo "<b>MySQL server error report:"
print_r($this->error_message)
}
exit
}
function getCol($sql)
{
$res = $this->query($sql)
if ($res !== false)
{
$arr = array()
while ($row = mysql_fetch_row($res))
{
$arr[] = $row[0]
}
return $arr
}
else
{
return false
}
}
function getOne($sql, $limited = false)
{
if ($limited == true)
{
$sql = trim($sql . ' LIMIT 1')
}
$res = $this->query($sql)
if ($res !== false)
{
$row = mysql_fetch_row($res)
if ($row !== false)
{
return $row[0]
}
else
{
return ''
}
}
else
{
return false
}
}
function getAll($sql)
{
$res = $this->query($sql)
if ($res !== false)
{
$arr = array()
while ($row = mysql_fetch_assoc($res))
{
$arr[] = $row
}
return $arr
}
else
{
return false
}
}
//使用: getRow($sql,true) 如果有true那值是 limit 1,读取一条信息
function getRow($sql, $limited = false)
{
if ($limited == true)
{
$sql = trim($sql . ' LIMIT 1')
}
$res = $this->query($sql)
if ($res !== false)
{
return mysql_fetch_assoc($res)
}
else
{
return false
}
}
}
?>
你好,csv格式的和Excel格式的都是差不多的,
下面是读取Excel的一些函数,希望帮到你:
# -*- coding: cp936 -*-import xlrd3
def getAllRowsBySheetIndex(sheetIndex, xlsFilePath):
workBook = xlrd3.open_workbook(xlsFilePath)
table = workBook.sheets()[sheetIndex]
rows = []
rowNum = table.nrows # 总共行数
rowList = table.row_values
for i in range(rowNum):
rows.append(rowList(i)) # 等价于rows.append(i, rowLists(i))
return rows
def getRow(sheetIndex, rowIndex, xlsFilePath):
rows = getAllRowsBySheetIndex(sheetIndex, xlsFilePath)
return rows[rowIndex]
def getAllColsBySheetIndex(sheetIndex, xlsFilePath):
workBook = xlrd3.open_workbook(xlsFilePath)
table = workBook.sheets()[sheetIndex]
cols = []
colNum = table.ncols # 总共列数
colList = table.col_values
for i in range(colNum):
cols.append(colList(i))
return cols
def getCol(sheetIndex, colIndex, xlsFilePath):
cols = getAllColsBySheetIndex(sheetIndex, xlsFilePath)
return cols[colIndex]
def getCellValue(sheetIndex, rowIndex, colIndex, xlsFilePath):
workBook = xlrd3.open_workbook(xlsFilePath)
table = workBook.sheets()[sheetIndex]
return table.cell(rowIndex, colIndex).value # 或者table.row(0)[0].value或者table.col(0)[0].value
if __name__=='__main__':
rowsInFirstSheet = getAllRowsBySheetIndex(0, './产品.xls')
print(rowsInFirstSheet)
colsInFirstSheet = getAllColsBySheetIndex(0, './产品.xls')
print(colsInFirstSheet)
print(getRow(0, 0, './产品.xls')) # 获取第一个sheet第一行的数据
print(getCol(0, 0, './产品.xls')) # 获取第一个sheet第一列的数据
print(getCellValue(0, 3, 2, './产品.xls')) # 获取第一个sheet第四行第二列的单元格的值
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)