/* 连接数据库类 MysqlConnect */
class MysqlConnect{
private $dbhost=null
private $dbuser=null
private $dbpwd=null
private $dbname=null
private $dbport=null
private $ifpdo=null
private $dburi=null
private $handler=null
function __construct($dbhost,$dbuser,$dbpwd,$dbname,$dbport,$ifpdo,$dburi){
$this->dbhost=$dbhost
$this->dbuser=$dbuser
$this->dbpwd=$dbpwd
$this->dbname=$dbname
$this->dbport=$dbport
$this->ifpdo=$ifpdo
$this->dburi=$dburi//PDO的URI参数,可以查手册
if($this->ifpdo==1){//表示调用PDO来 *** 作数据库
$this->handler=$this->CreatePdo()
}elseif($this->ifpdo==0){//这里可以写MYSQLI的方法
$this->handler=null
}
}
/* ----------------这里是入口--------------------- */
//@param sql:外部调用时传递的完整SQL语句
//@param bindArray:绑定的参数数组,与sql语句有关,如果没有PDO占位符此处为空
//@param action:传递 *** 作参数,"select"/"update"/"delete"/"insert"
public function exeSql($sql,$bindArray=array(),$action=""){
$stmt=$this->handler->prepare($sql)
$stmt->execute($bindArray)
switch($action){
case "select":
return $stmt->fetch(PDO::FETCH_ASSOC)
break
case "selectAll":
return $stmt->fetchAll(PDO::FETCH_ASSOC)
break
case "update":
case "delete":
return $stmt->rowCount()
break
case "insert":
return $this->handler->lastInsertId()
break
case "count":
return $stmt->rowCount()
default:
return ""
}
}
public function query($sql){
return $this->handler->query($sql)
}
private function CreatePdo(){
try{
$handler=new PDO($this->dburi,$this->dbuser,$this->dbpwd)
$handler->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION)
return $handler
}catch(PDOException $e){
$e->getMessage()
$this->handler=null
}
}
private function __get($args){
if($args=='handler'){
return $this->handler
}
}
}
require(NEO_A_P.'\data\sqlconfig.php')//这里是sql的连接文件,下面创建对象的时候需要的变量就是这个文件里要有的
$handler=new MysqlConnect($dbhost,$dbuser,$dbpwd,$dbname,$dbport,$ifpdo,$dburi)
?>
为了设置合理的MySQL参数,需要根据实际情况和使用场景来进行调整。通常而言,你应该关注以下几个方面:
连接数量: 在MySQL中有一个max_connections参数,用于限制MySQL服务器能够同时支持的客户端连接数。
数据库缓存: MySQL有一个query_cache参数,用于设置查询结果的缓存大小,以便加快对相同SQL语句的多次执行。
数据库日志: MySQL有一个log_error参数,用于设置日志文件的位置和大小,以便更好地监控MySQL的运行情况。
NineData是一款非常有特色的数据库SQL开发产品,对MySQL常用功能支持非常完整,包括智能的SQL补全、SQL执行历史、结果集编辑、数据对比、结构对比、数据迁移与复制等。它采用SaaS架构模式,用户不仅可以免费使用,而且无需下载安装,上手比较简单。NineData产品更新迭代比较敏捷,对于开发者的新需求响应比较迅速。另外,该产品在多云适配上是其重要的强项,支持多种连接和访问云数据库的方式,对阿里云、腾讯云、华为云、AWS等都有比较好的支持。另外,也适配国内比较流行的PolarDB、GaussDB、TDSQL等数据库。
对于新用户NineData还会赠送两个示例数据库,供用户使用。另外,NineData还提供了企业级SQL开发能力,支持多用户管理、数据库访问权限控制、变更流程、SQL规范、SQL与 *** 作审计等内容,可以较好的解决企业内多人协作访问数据库的问题。
这样绑定不对,你穿进去的是带""的,你得稍微改下逻辑了应该改为String sql="select * from book where name like '%"+value1+"%' or author like'%"+value2+"%'"
这样拼接没问题,传进来的参数可以直接放进去,我记得原来写的时候,like里面有问号,传入字符串会出错,逻辑你想想稍微改一下,难度不大
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)