mysql.class.php,mysqlclassphp出錯

本文目錄一覽:

錯誤位置 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這個變量找不到

一個個解決,先搞第一個

原創文章,作者:DMZEC,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/324702.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
DMZEC的頭像DMZEC
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Idea新建文件夾沒有java class的解決方法

    如果你在Idea中新建了一個文件夾,卻沒有Java Class,應該如何解決呢?下面從多個方面來進行解答。 一、檢查Idea設置 首先,我們應該檢查Idea的設置是否正確。打開Id…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python Class括號中的參數用法介紹

    本文將對Python中類的括號中的參數進行詳細解析,以幫助初學者熟悉和掌握類的創建以及參數設置。 一、Class的基本定義 在Python中,通過使用關鍵字class來定義類。類包…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論