本文目录一览:
- 错误位置 FILE: C:\tianhuan\simplewind\Core\Library\Think\Db\Driver\Mysql.class.php LINE: 55
- php封装好的mysql操作库吗
- db_mysql.class.php文件的问题
- 有关于php的问题
- include("mysql.class.php");//数据库类 $db=new mysql_db("localhost","root","","blog");//初始化数据库
错误位置 FILE: C:\tianhuan\simplewind\Core\Library\Think\Db\Driver\Mysql.class.php LINE: 55
第一行写着,Unknown database。
就是说数据库的配置有问题,数据库的库名写错了。
你检查一下,我曾通犯过个错误,就是库名打多了个空格,检查了好久才发现。
在index.php加设置define('APP_DEBUG', true);
然后进入Application\Runtime\Logs,把对就model的错误日志发过来分析才行。
php封装好的mysql操作库吗
php封装好的mysql操作库
类文件mysql.class.php:
<?php
class Mysql {
//数据库连接返回值
private $conn;
/**
* [构造函数,返回值给$conn]
* @param [string] $hostname [主机名]
* @param [string] $username[用户名]
* @param [string] $password[密码]
* @param [string] $dbname[数据库名]
* @param [string] $charset[字符集]
* @return [null]
*/
function __construct($hostname, $username, $password, $dbname, $charset = 'utf8') {
$config = @mysql_connect($hostname, $username, $password);
if (!$config) {
echo '连接失败,请联系管理员';
exit;
}
$this->conn = $config;
$res = mysql_select_db($dbname);
if (!$res) {
echo '连接失败,请联系管理员';
exit;
}
mysql_set_charset($charset);
}
function __destruct() {
mysql_close();
}
/**
* [getAll 获取所有信息]
* @param [string] $sql [sql语句]
* @return [array] [返回二维数组]
*/
function getAll($sql) {
$result = mysql_query($sql, $this->conn);
$data = array();
if ($result && mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}
}
return $data;
}
/**
* [getOne 获取单条数据]
* @param [string] $sql [sql语句]
* @return [array] [返回一维数组]
*/
function getOne($sql) {
$result = mysql_query($sql, $this->conn);
$data = array();
if ($result && mysql_num_rows($result) > 0) {
$data = mysql_fetch_assoc($result);
}
return $data;
}
/**
* [getOne 获取单条数据]
* @param [string] $table [表名]
* @param [string] $data [由字段名当键,属性当键值的一维数组]
* @return [type] [返回false或者插入数据的id]
*/
function insert($table, $data) {
$str = '';
$str .= "INSERT INTO `$table` ";
$str .= "(`" . implode("`,`", array_keys($data)) . "`) ";
$str .= " VALUES ";
$str .= "('".implode("','", $data)."')";
$res = mysql_query($str, $this->conn);
if ($res && mysql_affected_rows() > 0) {
return mysql_insert_id();
} else {
return false;
}
}
/**
* [update 更新数据库]
* @param [string] $table [表名]
* @param [array] $data [更新的数据,由字段名当键,属性当键值的一维数组]
* @param [string] $where [条件,‘字段名’=‘字段属性’]
* @return [type] [更新成功返回影响的行数,更新失败返回false]
*/
function update($table, $data, $where) {
$sql = 'UPDATE ' . $table . ' SET ';
foreach ($data as $key => $value) {
$sql .= "`{$key}`='{$value}',";
}
$sql = rtrim($sql, ',');
$sql .= " WHERE $where";
$res = mysql_query($sql, $this->conn);
if ($res && mysql_affected_rows()) {
return mysql_affected_rows();
} else {
return false;
}
}
/**
* [delete 删除数据]
* @param [string] $table [表名]
* @param [string] $where [条件,‘字段名’=‘字段属性’]
* @return [type] [成功返回影响的行数,失败返回false]
*/
function del($table, $where) {
$sql = "DELETE FROM `{$table}` WHERE {$where}";
$res = mysql_query($sql, $this->conn);
if ($res && mysql_affected_rows()) {
return mysql_affected_rows();
} else {
return false;
}
}
}
?>
使用案例:
<?php
//包含数据库操作类文件
include 'mysql.class.php';
//设置传入参数
$hostname = 'localhost';
$username = 'root';
$password = '123456';
$dbname = 'aisi';
$charset = 'utf8';
//实例化对象
$db = new Mysql($hostname, $username, $password, $dbname);
//获取一条数据
$sql = "SELECT count(as_article_id) as count FROM as_article where as_article_type_id=1";
$count = $db->getOne($sql);
//获取多条数据
$sql = "SELECT * FROM as_article where as_article_type_id=1 order by as_article_addtime desc limit $start,$limit";
$service = $db->getAll($sql);
//插入数据
$arr = array(
'as_article_title' => '数据库操作类',
'as_article_author' => 'rex',
);
$res = $db->insert('as_article', $arr);
//更新数据
$arr = array(
'as_article_title' => '实例化对象',
'as_article_author' => 'Lee',
);
$where = "as_article_id=1";
$res = $db->update('as_article', $arr, $where);
//删除数据
$where = "as_article_id=1";
$res = $db->del('as_article', $where);
?>
db_mysql.class.php文件的问题
提示是无法找到mysql主机:SAE_MYSQL_HOST_M
这个是你定义的常量?代码看起来是当作字符串处理了,你检查下代码。
如果还是不确定,最简单的方式是你把SAE_MYSQL_HOST_M先替换成IP地址试试。
有关于php的问题
可以的啊,可以明明为mysql.php
也可以命名成mysql_class.php
命名只是便于记忆,便于自己理清思路!只要你自己认识,怎么命名都行的!
include("mysql.class.php");//数据库类 $db=new mysql_db("localhost","root","","blog");//初始化数据库
Notice: Undefined variable: pagesize
不是告诉你了
pagesize这个变量找不到
一个个解决,先搞第一个