如果实在要这么做,
那给你改一下试试行不行
class
mysqlis{
private
$host
private
$name
private
$pass
private
$sqlname
public
$Conn
function
__construct($host,$name,$password,$sqlname){
$this->host=$host
$this->name=$name
$this->pass=$pass
$this->sqlname=$sqlname
$this->connect()
}
function
connect(){
$this
->
Conn
=
mysqli_connect($this->host,$this->name,$this->pass,$this->sqlname)
or
die("数据库连接错误")
}
}
$mysql=new
mysqlis("localhost","dafddf","dfdfgfg","test")
$sql="select
*
from
archives
where
title
like
'%说说%'"
$query=mysqli_query($mysql
->
Conn,
$sql)?>你这出现错误,
是因为,
msyqli_query()函数的第一个参数,
必须是msyqli_connect()函数 *** 作成功后返回的数据库连接标识,
很明显,
你这个$msyql只是实例化后的class
mysqlis这个类本身,
并不是数据库连接返回的标识,
那当然无法query查询!
mysqli比不msyql函数,
mysql函数是可以省略数据库连接标识的,
默认为上一个连接,
而mysqli函数不行,
必须提供这个参数!
大概的形式是这样的:
下面还是以实例来说明,要不然不好理解,新建两张表,一张是商品表,另外一张是商品的评论表
商品表:
评论表:
然后插入一些数据:
下面我们用子查询的方式来查出商品的信息以及每个商品的评论数量
查询结果:
对于这种查询,可以分成两部来理解,首先忽略整个select子查询,查出商品表中的数据。
在结果字段中使用子查询的关键两点:
1.子查询只能返回一条数据,如果子查询返回多条数据则会出错。
2.每一条select子查询只能查询一个字段。
使用MySQL FEDERATED 存储引擎 ;
可以先使用show engines 命令查看数据库su是否已支持FEDERATED引擎
以下为转帖并节选:
Support 的值有以下几个:
YES 支持并开启
DEFAULT 支持并开启, 并且为默认引擎
NO 不支持
DISABLED 支持,但未开启
使用FEDERATED建表语句如下:
1
CREATE TABLE (......) ENGINE =FEDERATED CONNECTION='mysql://[name]:[pass]@[location]:[port]/[db-name]/[table-name]'
需要注意的几点:
1. 本地的表结构必须与远程的完全一样。
2.远程数据库目前仅限MySQL
3.不支持事务
4.不支持表结构修改
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)