如何用PHP代码实现MySQL数据库的增删改查

如何用PHP代码实现MySQL数据库的增删改查,第1张

<?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>

<th>Username</th>

<th>Password</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>

<title>FORM</title>

</head>

<body>

<br />

<h1>Insert:</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 />

<h1>Delete</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 />

<h1>Update</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

class sqlHelper{\x0d\x0apublic $conn \x0d\x0apublic $dbname="数据库名称" \x0d\x0apublic $username="数据库用户名" \x0d\x0apublic $password="数据库密码" \x0d\x0apublic $host="localhost" \x0d\x0a//连接数据库\x0d\x0apublic function __construct(){\x0d\x0a$this->conn=mysql_connect($this->host,$this->username,$this->password) \x0d\x0aif(!$this->conn){\x0d\x0adie("连接失败".mysql_error()) \x0d\x0a}\x0d\x0amysql_select_db($this->dbname,$this->conn) \x0d\x0a}\x0d\x0a//执行查询语句\x0d\x0apublic function execute_dql($sql){ \x0d\x0a$res=mysql_query($sql,$this->conn) \x0d\x0areturn $res \x0d\x0a}\x0d\x0a//执行增填改语句\x0d\x0apublic function execute_dml($sql){\x0d\x0a$b=mysql_query($sql,$this->conn) \x0d\x0aif(!$b){\x0d\x0areturn 3 \x0d\x0a}else{\x0d\x0aif(mysql_affected_rows($this->conn)){ \x0d\x0areturn 1//表示OK\x0d\x0a}else{\x0d\x0areturn 2//表示没有行收到影响 \x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a}

给你两个我自己写的数据库的 *** 作的class吧

这个是为了 同时可以使用access和mysql而做的 先弄一个mysql的 然后又写一个access的 所有的函数一一对应 你可以看下 绝对原创喔~~

配置文件如下

$config['db']['type'] = "Mysql" //数据库类型“Mysql”,“Access”

$config['db']['database']= "ourcms"//数据库(文件)名

$config['db']['host'] = "" //数据库主机

$config['db']['username']= "7king" //数据库连接用户名

$config['db']['password']= "tingting"//数据库连接密码

/*

$config['db']['type'] = "Access"//数据库类型“Mysql”,“Access”

$config['db']['database']= "ourcms.mdb"//数据库(文件)名

$config['db']['host'] = ""

$config['db']['username']= ""

$config['db']['password']= ""

<?php

/**

* 2007.04 by zhaohe

*

* php连接access通用类

*

* 用法:

* 建立new Access类 =>set_db设置数据路径 =>set_login 设置连接数据库的用户名和密码

* =>通过set_conn 设置连接 =>

* {

get_result 获取查询执行结果get_result_rows 获取查询执行列表,一般是select

insert_info 插入新的记录 update_info更新记录

}

*

*

*/

class Access {

/**

* 类变量定义

* @param $conn mysql连接号

* @param $error 错误代号

* @param $username/$password 数据库连接用户名和密码

* @param array $err_info 错误信息

*

* @param $debuginfo 调试信息

* @param $table 当前 *** 作数据表

*/

var $conn

var $error

var $database

var $username = ""

var $password = ""

var $err_info = array(

0 =>"没有错误!",

1 =>"数据库连接失败!",

2 =>"sql执行出错!"

)

var $debuginfo=""

var $table

/**

* 默认构造方法

**/

function Access( $arr=null ){

if( is_array($arr) ) {

$this->set_login( $arr['host'] , $arr['username'] , $arr['password'] )

$this->set_db( $arr['database'] )

$this->set_conn()

}

}

/**

* 设置数据库文件名

* @param string $dbfile

*

* return void

*/

function set_db ( $dbfile ){

$this->database = $dbfile

}

/**

* 设置连接数据库的用户名和密码

* @param string $user 用户名

* @param string $pwd 密码

*

* @return void

*/

function set_login ( $user , $pwd ){

$this->username=$user

$this->password=$pwd

}

/**

* 创建数据库连接

* @param

* return void

*/

function set_conn ( ){

if($this->conn=odbc_connect("DRIVER=Microsoft Access Driver (*.mdb)DBQ=".realpath($this->database),$this->username,$this->password,SQL_CUR_USE_ODBC )) $this->error=0

else $this->error=1

}

/**

* 设置当前 *** 作的数据表

* @param string $tb

*

* @return void

*/

function set_table( $tb ) {

$this->table = $tb

}

/**

* 返回sql查询结果

* @param string $sql sql语句

*

* @return #id

*/

function get_result( $sql ){

return odbc_do( $this->conn , $sql )

}

/**

* 获取查询的结果

* @param string $sql

*

* @return array 结果的二维数组

*/

function get_result_rows( $sql ){

$array = array()

$result = $this->get_result( $sql )

while( $row = odbc_fetch_array( $result ) )

$array[] = $row

return $array

}

/**

* 获取部分查询结果

*

* @param Array 数组

* @return Array

*/

function get_query_result( $cols , $tb=null , $order=null , $limit=null , $start=0 ) {

if( empty($tb) ) $tb=$this->table

else $this->table=$tb

if( is_array($cols) ) $col="[".implode('],[',$cols)."]"

else $col = $cols

if( empty($limit) )

$sql = "select $col from $tb"

else

$sql ="select top $limit $col from $tb"

if( isset($order) ) $sql.=" order by $order"

return $this->get_result_rows($sql)

}

/**

* 执行数据库插入 *** 作

*

* @param $arr values列表,数组索引为数据表字段

* @param $tb *** 作数据表 如果为空则为设置的当前类的 *** 作表

*/

function insert_info( $arr , $tb = "" ) {

$cols = array_keys( $arr )

$values = array_values( $arr )

if (empty($tb)) $tb = $this->tb

/*

foreach( $arr as $key =>$value ){

$cols[] = $key

$values[] = $value

}

*/

$sql = "insert into [$tb]([".implode("],[",$cols)."]) values('".implode("','",$values)."')"

//return $sql

return $this->get_result( $sql )

}

/**

* 执行数据库更新 *** 作

*

* @param array $arr 要更新的字段值 数组索引为表字段名

* @param array $con 条件数组

* @param string $tb 要 *** 作的数据表

*

*/

function update_info( $arr , $con , $tb = "" ) {

$cols = array()

$conditions = array()

if (empty( $tb )) $tb = $this->tb

foreach( $arr as $key =>$value ){

$cols[] = "[$key]='$value'"

}

foreach( $con as $key =>$value ) {

//检查数据类型

if( is_int($value) || is_float($value) )

$conditions[] = "[$key]=$value"

else

$conditions[] = "[$key]='$value'"

}

$sql = "update [$tb] set ".implode(",",$cols)." where ".implode(" and ",$conditions)

//return $sql

return $this->get_result( $sql )

}

}

?>

mysql的类如下

class Mysql {

/**

* mysql连接执行类,将sql的执行实现数据库无关性

*

*

*

*/

/**

* 类变量定义

* @param $conn mysql连接号

* @param $error 错误代号

* @param $username/$password 数据库连接用户名和密码

* @param array $err_info 错误信息

*

* @param $debuginfo 调试信息

* @param $table 当前 *** 作数据表

*/

var $conn

var $error

var $username = ""

var $password = ""

var $host

var $database

var $err_info = array(

0 =>"没有错误!",

1 =>"数据库连接失败!",

2 =>"sql执行出错!"

)

var $debuginfo=""

var $table

function Mysql( $arr=null ) {

if( is_array($arr) ) {//var_dump($arr)

$this->set_login( $arr['host'] , $arr['username'] , $arr['password'] )

$this->set_db( $arr['database'] )

$this->set_conn()

if( isset($this->error) &&$this->error!=0 ) die($this->err_info[$this->error])

}

}

/**

* 设置数据库名

* @param string $database

*

* return void

*/

function set_db ( $dbfile ){

$this->database = $dbfile

}

/**

* 设置连接数据库的用户名和密码

* @param string $user 用户名

* @param string $pwd 密码

*

* @return void

*/

function set_login ( $host , $user , $pwd ){

$this->host=$host

$this->username=$user

$this->password=$pwd

}

/**

* 创建数据库连接

* @param

* return void

*/

function set_conn (){

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

if ( isset($this->conn) &&mysql_select_db($this->database) )

$this->error=0

else

$this->error=1

}

/**

* 设置当前 *** 作的数据表

* @param string $tb

*

* @return void

*/

function set_table( $tb ) {

$this->table = $tb

}

/**

* 返回sql查询结果

* @param string $sql sql语句

*

* @return #id

*/

function get_result( $sql ){

return mysql_query( $sql , $this->conn )

}

/**

* 获取查询的结果

* @param string $sql

*

* @return array 结果的二维数组

*/

function get_result_rows( $sql ){

$array = array()

$result = $this->get_result( $sql )

while( $row = mysql_fetch_assoc( $result ) )

$array[] = $row

return $array

}

/**

* 获取部分查询结果

*

* @param Array 数组

* @return Array

*/

function get_query_result( $cols , $tb=null , $condition , $order=null , $limit=null , $start=0 ) {

if( empty($tb) ) $tb=$this->table

else $this->table=$tb

if( is_array($cols) ) $col="`".implode('`,`',$cols)."`"

else $col = $cols

if( isset($limit) )

$sql.="select top $limit $col from $tb"

else

$sql = "select $col from $tb"

if( isset($condition) ) $sql.=" where $condition"

if( isset($order) ) $sql.=" order by $order"

if( isset($limit) ) $sql.=" limit $start,$limit"

return $this->get_result_rows($sql)

}

/**

* 执行数据库插入 *** 作

*

* @param $arr values列表,数组索引为数据表字段

* @param $tb *** 作数据表 如果为空则为设置的当前类的 *** 作表

*/

function insert_info( $arr , $tb = "" ) {

$cols = array_keys( $arr )

$values = array_values( $arr )

if (empty($tb)) $tb = $this->table

/*

foreach( $arr as $key =>$value ){

$cols[] = $key

$values[] = $value

}

*/

$sql = "insert into [$tb](`".implode("`,`",$cols)."`) values('".implode("','",$values)."')"

//return $sql

return $this->get_result( $sql )

}

/**

* 执行数据库更新 *** 作

*

* @param array $arr 要更新的字段值 数组索引为表字段名

* @param array $con 条件数组

* @param string $tb 要 *** 作的数据表

*

*/

function update_info( $arr , $con , $tb = "" ) {

$cols = array()

$conditions = array()

if (empty( $tb )) $tb = $this->table

if( is_array($arr) ) {

foreach( $arr as $key =>$value ){

$cols[] = "`$key`='$value'"

}

foreach( $con as $key =>$value ) {

//检查数据类型

if( is_int($value) || is_float($value) )

$conditions[] = "`$key`=$value"

else

$conditions[] = "`$key`='$value'"

}

$sql = "update `$tb` set ".implode(",",$cols)." where ".implode(" and ",$conditions)

}

else

$sql = "update `$tb` set $arr where $con"

//return $sql

return $this->get_result( $sql )

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9710282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存