php對mysql進行增刪,mysql 增查刪改

本文目錄一覽:

php連接mysql的增刪查改和連接的代碼

$mysql_server_name=”localhost”; //數據庫服務器名稱

$mysql_username=”root”; // 連接數據庫用戶名

$mysql_password=”??????”; // 連接數據庫密碼

$mysql_database=”??????”; // 數據庫的名字

// 連接到數據庫

$conn=mysql_connect($mysql_server_name, $mysql_username,

$mysql_password);

// 從表中提取信息的sql語句

$strsql=”SELECT * FROM `gbook`”;

// 執行sql查詢

$result=mysql_db_query($mysql_database, $strsql, $conn);

// 獲取查詢結果

$row=mysql_fetch_row($result);

增刪該查,只要sql語句的區別,只要修改mysql_query($sql)的$sql參數。

php封裝一個class類實現mysql數據庫的增刪該查

?php

class db{

private $db;

const MYSQL_OPT_READ_TIMEOUT = 11;

const MYSQL_OPT_WRITE_TIMEOUT = 12;

private $tbl_name;

private $where;

private $sort;

private $fields;

private $limit;

public static $_instance = null;

function __construct(){

$cfg = loadConfig(‘db’);

$db = mysqli_init();

$db-options(self::MYSQL_OPT_READ_TIMEOUT, 3);

$db-options(self::MYSQL_OPT_WRITE_TIMEOUT, 1);

@$db-real_connect($cfg[‘host’],$cfg[‘user’],$cfg[‘pwd’],$cfg[‘db’]);

if ($db-connect_error) {

$this-crash($db-errno,$db-error);

}

$db-set_charset(“utf8”);

$this-db = $db;

//echo $this-db-stat;

}

public static function getInstance(){

if(!(self::$_instance instanceof self)){

self::$_instance = new self();

}

return self::$_instance;

}

private function __clone() {} //覆蓋__clone()方法,禁止克隆

public function find($conditions = null){

if($conditions) $this-where($conditions);

return $this-getArray($this-buildSql(),1);

}

public function findAll($conditions = null){

if($conditions) $this-where($conditions);

return $this-getArray($this-buildSql());

}

//表

public function t($table){ $this-tbl_name = $table; return $this;}

//條件

public function where($conditions){

$where = ”;

if(is_array($conditions)){

$join = array();

foreach( $conditions as $key = $condition ){

$condition = $this-db-real_escape_string($condition);

$join[] = “`{$key}` = ‘{$condition}'”;

}

$where = “WHERE “.join(” AND “,$join);

}else{

if(null != $conditions) $where = “WHERE “.$conditions;

}

$this-where = $where;

return $this;

}

//排序

public function sort($sort){

if(null != $sort) $sort = “ORDER BY {$sort}”;

$this-sort = $sort;

return $this;

}

//字段

public function fields($fields){ $this-fields = $fields; return $this; }

public function limit($limit){$this-limit = $limit; return $this;}

private function buildSql(){

$this-fields = empty($this-fields) ? “*” : $this-fields;

$sql = “SELECT {$this-fields} FROM {$this-tbl_name} {$this-where} {$this-sort}”;

accessLog(‘db_access’,$sql);

if(null != $this-limit)$sql .= ” limit {$this-limit}”;

return $sql;

}

/**

* 返回查詢數據

* @param $sql

* @param bool $hasOne

* @return array|bool|mixed

*/

private function getArray($sql,$hasOne = false){

if($this-db-real_query($sql) ){

if ($result = $this-db-use_result()) {

$row = array();

if($hasOne){

$row = $result-fetch_assoc();

}else{

while($d = $result-fetch_assoc()) $row[] = $d;

}

$result-close();

$this-fields = “*”;

return $row;

}else{

return false;

}

}else{

if($this-db-error){

$this-crash($this-db-errno,$this-db-error,$sql);

}

}

}

public function findSql($sql,$hasOne = false){

accessLog(‘db_access’,$sql);

if($this-db-real_query($sql) ){

if ($result = $this-db-use_result()) {

$row = array();

if($hasOne){

$row = $result-fetch_assoc();

}else{

while($d = $result-fetch_assoc()) $row[] = $d;

}

$result-close();

$this-fields = “*”;

return $row;

}else{

return false;

}

}else{

if($this-db-error){

$this-crash($this-db-errno,$this-db-error,$sql);

}

}

}

public function create($row){

if(!is_array($row))return FALSE;

$row = $this-prepera_format($row);

if(empty($row))return FALSE;

foreach($row as $key = $value){

$cols[] = ‘`’.$key.’`’;

$vals[] = “‘”.$this-db-real_escape_string($value).”‘”;

}

$col = implode(‘,’, $cols);

$val = implode(‘,’, $vals);

$sql = “INSERT INTO `{$this-tbl_name}` ({$col}) VALUES ({$val})”;

accessLog(‘db_access’,$sql);

if( FALSE != $this-db-query($sql) ){ // 獲取當前新增的ID

if($this-db-insert_id){

return $this-db-insert_id;

}

if($this-db-affected_rows){

return true;

}

}

return FALSE;

}

//直接執行sql

public function runSql($sql){

accessLog(‘db_access’,$sql);

if( FALSE != $this-db-query($sql) ){ // 獲取當前新增的ID

return true;

}else{

return false;

}

}

public function update($row){

$where = “”;

$row = $this-prepera_format($row);

if(empty($row))return FALSE;

foreach($row as $key = $value){

$value = $this-db-real_escape_string($value);

$vals[] = “`{$key}` = ‘{$value}'”;

}

$values = join(“, “,$vals);

$sql = “UPDATE {$this-tbl_name} SET {$values} {$this-where}”;

accessLog(‘db_access’,$sql);

if( FALSE != $this-db-query($sql) ){ // 獲取當前新增的ID

if( $this-db-affected_rows){

return true;

}

}

return false;

}

function delete(){

$sql = “DELETE FROM {$this-tbl_name} {$this-where}”;

if( FALSE != $this-db-query($sql) ){ // 獲取當前新增的ID

if( $this-db-affected_rows){

return true;

}

}

return FALSE;

}

private function prepera_format($rows){

$columns = $this-getArray(“DESCRIBE {$this-tbl_name}”);

$newcol = array();

foreach( $columns as $col ){

$newcol[$col[‘Field’]] = $col[‘Field’];

}

return array_intersect_key($rows,$newcol);

}

//崩潰信息

private function crash($number,$message,$sql=”){

$msg = ‘Db Error ‘.$number.’:’.$message ;

if(empty($sql)){

echo t(‘db_crash’);

}else{

$msg .= ” SQL:”.$sql;

echo t(‘db_query_err’);

}

accessLog(‘db_error’,$msg);

exit;

}

}

php封裝一個class類,實現mysql數據庫的增刪改查怎麼操做?

class sqlHelper{

public $conn;

public $dbname=”數據庫名稱”;

public $username=”數據庫用戶名”;

public $password=”數據庫密碼”;

public $host=”localhost”;

//連接數據庫

public function __construct(){

$this-conn=mysql_connect($this-host,$this-username,$this-password);

if(!$this-conn){

die(“連接失敗”.mysql_error());

}

mysql_select_db($this-dbname,$this-conn);

}

//執行查詢語句

public function execute_dql($sql){

$res=mysql_query($sql,$this-conn);

return $res;

}

//執行增填改語句

public function execute_dml($sql){

$b=mysql_query($sql,$this-conn);

if(!$b){

return 3;

}else{

if(mysql_affected_rows($this-conn)){

return 1;//表示OK

}else{

return 2;//表示沒有行收到影響

}

}

}

}

php數據庫添加、刪除、修改數據(mysql)

一、PHP操作MySql數據庫

新增數據

?php

$query

=

“INSERT

INTO

grade

(name,email,point,regdate)

VALUE

(‘

李三’,’yc60.com@gmail.com’,,NOW())”

;

@mysql_query($query)

or

die(

‘添加數據出錯:’

.mysql_error());

?

修改數據

?php

$query

=

“UPDATE

grade

SET

name=’小可愛’

WHERE

id=6″

;

@mysql_query($query)

or

die(

‘修改出錯:’

.mysql_error());

?

刪除數據

?php

$query

=

“DELETE

FROM

grade

WHERE

id=6″;

@mysql_query($query)

or

die(

‘刪除錯誤:’

.mysql_error());

?

顯示數據

?php

$query

=

“SELECT

id,name,email,point

FROM

grade”;

$result

=

@mysql_query($query)

or

die(

‘查詢語句出錯:’

.mysql_error());

while

(!!

$row

=

mysql_fetch_array($result))

{

echo

$row[

‘id’

].

‘—-‘

.$row[‘name’

].’—-‘

.$row

[’email’

].

‘—-‘

.$row[‘point’

];

echo

‘br

/

‘;

}

?

二、其他常用函數

mysql_f

etch_row()

:從結果集中取得一行作為枚舉數組

mysql_f

etch_assoc()

從結果集中取得一行作為關聯數組

mysql_f

etch_array()

從結果集中取得一行作為關聯數組,或數字數組,或二者兼有

mysql_f

etch_lengths

()

取得結果集中每個輸出的長度

mysql_f

ield_name():

取得結果中指定字段的字段名

mysql_num_rows():

取得結果集中行的數目

mysql_num_f

ields():取得結果集中字段的數目

mysql_get_client_inf

o()

取得

MySQL

客戶端信息

mysql_get_host_info():

取得

MySQL

主機信息

mysql_get_proto_info():

取得

MySQL

協議信息

mysql_get_server_inf

o()

取得

MySQL

服務器信息

如何用PHP代碼實現MySQL數據庫的增刪改查

?php

$con = mysql_connect(“localhost:3306″,”root”,””);

if (!$con) {

die(‘Could not connect: ‘ . mysql_error());

}

mysql_select_db(“test”, $con);

$result = mysql_query(“SELECT * FROM user”);

echo “table border=’1′

tr

thUsername/th

thPassword/th

/tr”;

while($row = mysql_fetch_array($result)) {

echo “tr”;

echo “td” . $row[‘username’] . “/td”;

echo “td” . $row[‘password’] . “/td”;

echo “/tr”;

}

echo “/table”;

mysql_close($con);

?

從服務器中獲取用戶所有信息(SQL SELECT語句)並以表格形式出現

?php

$con = mysql_connect(“localhost”,”root”,””);

if (!$con) {

die(‘Could not connect: ‘ . mysql_error());

}

mysql_select_db(“test”, $con);

mysql_query(“DELETE FROM user WHERE username = ‘$_POST[username]'”);

mysql_close($con);

?

刪除該用戶所有信息delete.php

?php

$con = mysql_connect(“localhost:3306″,”root”,””);

if (!$con) {

die(‘Could not connect: ‘ . mysql_error());

}

mysql_select_db(“test”, $con);

$sql = “INSERT INTO user (username,password)

VALUES

(‘$_POST[username]’,’$_POST[password]’)”;

if (!mysql_query($sql,$con)) {

die(‘Error: ‘ . mysql_error());

}

echo “1 record added”;

mysql_close($con);

?

註冊一個新用戶insert.php

?php

$con = mysql_connect(“localhost”,”root”,””);

if (!$con) {

die(‘Could not connect: ‘ . mysql_error());

}

mysql_select_db(“test”, $con);

mysql_query(“UPDATE user SET password = ‘$_POST[password]’ WHERE username = ‘$_POST[username]'”);

mysql_close($con);

?

修改一個用戶密碼update.php

html

head

titleFORM/title

/head

body

br /

h1Insert:/h1

form action=”insert.php” method=”post”

username:input type=”name” name=”username”/

br /

password:input type=”password” name=”password”/

input type=”submit” value=”submit”/

/form

br /hr /br /

h1Delete/h1

form action=”delete.php” method=”post”

username:input type=”name” name=”username” /

br /

Are you sure?input type=”submit” value=”sure” /

/form

br /hr /br /

h1Update/h1

form action=”update.php” method=”post”

username:input type=”name” name=”username”/

br /

You want to change your password into:input type=”password” name=”password”/

input type=”submit” value=”submit”/

/form

br /hr /br /

/body

/html

以上三個功能的提交源Operate.html

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-25 05:49
下一篇 2024-11-25 05:49

相關推薦

  • 如何修改mysql的端口號

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

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

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

    編程 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
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27

發表回復

登錄後才能評論