十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
mysqli有两种数据库连接方式:
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比临泉网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式临泉网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖临泉地区。费用合理售后完善,十年实体公司更值得信赖。
1、面向过程式连接:
mysqli_connect('localhost','xxx','xxx','xxx');
mysqli_query('');
后使用mysqli_fetch_assoc方法获取到数据。
2、面向对象式连接:
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$result = $mysqli-query('');
后使用$result-fetch_assoc()获取数据。
至于num_rows是获取查询到的行数的方法。
给你两个我自己写的数据库的操作的class吧
这个是为了 同时可以使用access和mysql而做的 先弄一个mysql的 然后又写一个access的 所有的函数一一对应 你可以看下 绝对原创喔~~
配置文件如下
$config['db']['type'] = "Mysql"; //数据库类型“Mysql”,“Access”
$config['db']['database']= "ourcms"; //数据库(文件)名
$config['db']['host'] = ""; //数据库主机
$config['db']['username']= "7king"; //数据库连接用户名
$config['db']['password']= "tingting"; //数据库连接密码
/*
$config['db']['type'] = "Access"; //数据库类型“Mysql”,“Access”
$config['db']['database']= "ourcms.mdb";//数据库(文件)名
$config['db']['host'] = "";
$config['db']['username']= "";
$config['db']['password']= "";
?php
/**
* 2007.04 by zhaohe
*
* php连接access通用类
*
* 用法:
* 建立new Access类 = set_db设置数据路径 = set_login 设置连接数据库的用户名和密码
* = 通过set_conn 设置连接 =
* {
get_result 获取查询执行结果; get_result_rows 获取查询执行列表,一般是select
insert_info 插入新的记录 update_info更新记录
}
*
*
*/
class Access {
/**
* 类变量定义
* @param $conn mysql连接号
* @param $error 错误代号
* @param $username/$password 数据库连接用户名和密码
* @param array $err_info 错误信息
*
* @param $debuginfo 调试信息
* @param $table 当前操作数据表
*/
var $conn;
var $error;
var $database;
var $username = "";
var $password = "";
var $err_info = array(
0 = "没有错误!",
1 = "数据库连接失败!",
2 = "sql执行出错!"
);
var $debuginfo="";
var $table;
/**
* 默认构造方法
**/
function Access( $arr=null ){
if( is_array($arr) ) {
$this-set_login( $arr['host'] , $arr['username'] , $arr['password'] );
$this-set_db( $arr['database'] );
$this-set_conn();
}
}
/**
* 设置数据库文件名
* @param string $dbfile
*
* return void
*/
function set_db ( $dbfile ){
$this-database = $dbfile;
}
/**
* 设置连接数据库的用户名和密码
* @param string $user 用户名
* @param string $pwd 密码
*
* @return void
*/
function set_login ( $user , $pwd ){
$this-username=$user;
$this-password=$pwd;
}
/**
* 创建数据库连接
* @param
* return void
*/
function set_conn ( ){
if($this-conn=odbc_connect("DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath($this-database),$this-username,$this-password,SQL_CUR_USE_ODBC )) $this-error=0;
else $this-error=1;
}
/**
* 设置当前操作的数据表
* @param string $tb
*
* @return void
*/
function set_table( $tb ) {
$this-table = $tb;
}
/**
* 返回sql查询结果
* @param string $sql sql语句
*
* @return #id
*/
function get_result( $sql ){
return odbc_do( $this-conn , $sql );
}
/**
* 获取查询的结果
* @param string $sql
*
* @return array 结果的二维数组
*/
function get_result_rows( $sql ){
$array = array() ;
$result = $this-get_result( $sql );
while( $row = odbc_fetch_array( $result ) )
$array[] = $row ;
return $array;
}
/**
* 获取部分查询结果
*
* @param Array 数组
* @return Array
*/
function get_query_result( $cols , $tb=null , $order=null , $limit=null , $start=0 ) {
if( empty($tb) ) $tb=$this-table;
else $this-table=$tb;
if( is_array($cols) ) $col="[".implode('],[',$cols)."]";
else $col = $cols;
if( empty($limit) )
$sql = "select $col from $tb";
else
$sql ="select top $limit $col from $tb";;
if( isset($order) ) $sql.=" order by $order";
return $this-get_result_rows($sql);
}
/**
* 执行数据库插入操作
*
* @param $arr values列表,数组索引为数据表字段
* @param $tb 操作数据表 如果为空则为设置的当前类的操作表
*/
function insert_info( $arr , $tb = "" ) {
$cols = array_keys( $arr );
$values = array_values( $arr );
if (empty($tb)) $tb = $this-tb;
/*
foreach( $arr as $key = $value ){
$cols[] = $key;
$values[] = $value;
}
*/
$sql = "insert into [$tb]([".implode("],[",$cols)."]) values('".implode("','",$values)."')";
//return $sql;
return $this-get_result( $sql );
}
/**
* 执行数据库更新操作
*
* @param array $arr 要更新的字段值 数组索引为表字段名
* @param array $con 条件数组
* @param string $tb 要操作的数据表
*
*/
function update_info( $arr , $con , $tb = "" ) {
$cols = array();
$conditions = array();
if (empty( $tb )) $tb = $this-tb;
foreach( $arr as $key = $value ){
$cols[] = "[$key]='$value'";
}
foreach( $con as $key = $value ) {
//检查数据类型
if( is_int($value) || is_float($value) )
$conditions[] = "[$key]=$value";
else
$conditions[] = "[$key]='$value'";
}
$sql = "update [$tb] set ".implode(",",$cols)." where ".implode(" and ",$conditions);
//return $sql;
return $this-get_result( $sql );
}
}
?
mysql的类如下
class Mysql {
/**
* mysql连接执行类,将sql的执行实现数据库无关性
*
*
*
*/
/**
* 类变量定义
* @param $conn mysql连接号
* @param $error 错误代号
* @param $username/$password 数据库连接用户名和密码
* @param array $err_info 错误信息
*
* @param $debuginfo 调试信息
* @param $table 当前操作数据表
*/
var $conn;
var $error;
var $username = "";
var $password = "";
var $host;
var $database;
var $err_info = array(
0 = "没有错误!",
1 = "数据库连接失败!",
2 = "sql执行出错!"
);
var $debuginfo="";
var $table;
function Mysql( $arr=null ) {
if( is_array($arr) ) {//var_dump($arr);
$this-set_login( $arr['host'] , $arr['username'] , $arr['password'] );
$this-set_db( $arr['database'] );
$this-set_conn();
if( isset($this-error) $this-error!=0 ) die($this-err_info[$this-error]);
}
}
/**
* 设置数据库名
* @param string $database
*
* return void
*/
function set_db ( $dbfile ){
$this-database = $dbfile;
}
/**
* 设置连接数据库的用户名和密码
* @param string $user 用户名
* @param string $pwd 密码
*
* @return void
*/
function set_login ( $host , $user , $pwd ){
$this-host=$host;
$this-username=$user;
$this-password=$pwd;
}
/**
* 创建数据库连接
* @param
* return void
*/
function set_conn (){
$this-conn=mysql_connect($this-host,$this-username,$this-password );
if ( isset($this-conn) mysql_select_db($this-database) )
$this-error=0;
else
$this-error=1;
}
/**
* 设置当前操作的数据表
* @param string $tb
*
* @return void
*/
function set_table( $tb ) {
$this-table = $tb;
}
/**
* 返回sql查询结果
* @param string $sql sql语句
*
* @return #id
*/
function get_result( $sql ){
return mysql_query( $sql , $this-conn );
}
/**
* 获取查询的结果
* @param string $sql
*
* @return array 结果的二维数组
*/
function get_result_rows( $sql ){
$array = array() ;
$result = $this-get_result( $sql );
while( $row = mysql_fetch_assoc( $result ) )
$array[] = $row ;
return $array;
}
/**
* 获取部分查询结果
*
* @param Array 数组
* @return Array
*/
function get_query_result( $cols , $tb=null , $condition , $order=null , $limit=null , $start=0 ) {
if( empty($tb) ) $tb=$this-table;
else $this-table=$tb;
if( is_array($cols) ) $col="`".implode('`,`',$cols)."`";
else $col = $cols;
if( isset($limit) )
$sql.="select top $limit $col from $tb";
else
$sql = "select $col from $tb";
if( isset($condition) ) $sql.=" where $condition";
if( isset($order) ) $sql.=" order by $order";
if( isset($limit) ) $sql.=" limit $start,$limit";
return $this-get_result_rows($sql);
}
/**
* 执行数据库插入操作
*
* @param $arr values列表,数组索引为数据表字段
* @param $tb 操作数据表 如果为空则为设置的当前类的操作表
*/
function insert_info( $arr , $tb = "" ) {
$cols = array_keys( $arr );
$values = array_values( $arr );
if (empty($tb)) $tb = $this-table;
/*
foreach( $arr as $key = $value ){
$cols[] = $key;
$values[] = $value;
}
*/
$sql = "insert into [$tb](`".implode("`,`",$cols)."`) values('".implode("','",$values)."')";
//return $sql;
return $this-get_result( $sql );
}
/**
* 执行数据库更新操作
*
* @param array $arr 要更新的字段值 数组索引为表字段名
* @param array $con 条件数组
* @param string $tb 要操作的数据表
*
*/
function update_info( $arr , $con , $tb = "" ) {
$cols = array();
$conditions = array();
if (empty( $tb )) $tb = $this-table;
if( is_array($arr) ) {
foreach( $arr as $key = $value ){
$cols[] = "`$key`='$value'";
}
foreach( $con as $key = $value ) {
//检查数据类型
if( is_int($value) || is_float($value) )
$conditions[] = "`$key`=$value";
else
$conditions[] = "`$key`='$value'";
}
$sql = "update `$tb` set ".implode(",",$cols)." where ".implode(" and ",$conditions);
}
else
$sql = "update `$tb` set $arr where $con";
//return $sql;
return $this-get_result( $sql );
}
}
?php
/**
*
@param
string
$url
地址url
*
@return
$array
返回url对应的id
*/
function
getid($url){
//连接数据库
mysql_connect('localhost','root','user')
or
die('数据库链接失败');
//不清楚数据库名称,这里用dbname代表数据库名称。需要替换为实际的数据库名称
mysql_select_db('dbname');
mysql_query('set
names
utf8');//如果页面编码是utf-8的。这里设置查询的编码为utf-8
$sql
=
"select
`id`
from
`visitor`
where
`file`='{$url}'";
$result
=
mysql_query($sql);
//不清楚url是不是会重复,这里循环可以保证得到所有的id
while($row
=
mysql_fetch_assoc($result)){
$id[]
=
$row['id']
}
//如果url不会重复则使用$id[0],如果会重复则循环$id就可以得到每个id了。
return
$id;
}
提供参考下面的代码。
/ /数据库访问的端口号,用户名和密码,根据实际的数据库连接配置
$康恩= MYSQL_CONNECT(的'localhost:3306','根','密码') / / ::注::使用LIMIT子句的查询,以确保只有一个结果。
query_sql美元的='
选择
电子邮件1,电子邮件2,电子邮件3,email4,
``
名称=“{这里查询值}“
限1
/ /查询是否成功,如果($结果=请求mysql_query($ query_sql $ CONN)){
/ /检测是否有符合条件的结果
如果($ record_info = mysql_fetch_array($的结果MYSQL_NUM)){
/ /这里最后一次转让
列表($,$ A2,$ A3,A4,A5)= $ record_info;
}
}
则mysql_close(CONN);
希望有帮助,谢谢!
$sql = "SELECT meso FROM char DESC LIMIT 1";
$return = mysql_result(mysql_query($sql), 0);
$return = $return 220000 ? 200000 : $return;
//如果要直接修改数据请加上下边这句查询
mysql_query(UPDATE char SET meso = '200000' DESC LIMIT 1);
格式:update 表名称 set 字段名称 = 字段名称 + 1 [ where语句]
比如说数据库中有一张student表,要想把id为1的学生成绩(score)加1则
update student set score=score+1 where id = 1
如果你不加where系统就不会知道你具体要更新哪条记录,而导致所有该表中score都增加1,当然,除非这就是你的本意。