php多表数据修改 数据库修改多表

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同时修改2个表数据,怎么实现?

//完成你的问题需要先假设几个变量

//传值的id

$aId = $_GET['id']

//要修改的新check内容

$newCheck = "aaa";

//要在表B中加的数值

$addContent = "20";

//第一个SQL更新表A中的check内容

$sql1 = "UPDATE `A` SET `check`='".$check."' WHERE `aid`=".$_GET['id'];

//第二个SQL获取表B中的相关信息

$sql2 = "SELECT `B`.`bid`,`b`.`score` FROM `A`,`B` WHERE `A`.`name`=`B`.`name` AND `A`.`aid`=".$_GET['id'];

//通过sql2可以得到所要修改的B表中的bid=$bid 和B表中该条记录的score内容=$score。

$newScore = $score.$addContent;

//更新表B中数据

$sql3 = "UPDATE `B` SET `score`='".$newScore."' WHERE `bid`=".$bid;

如何用php一次修改多条记录

多个提交和一个提交的道理是相同的,只是一些细节上要注意。

提交一个你懂了,我还是提一下,表单是:

form

input type=text name=name

input type=text name=sex

input type=text name=age

input type=text name=address

/form

PHP存数据库的语句是:

$sql="insert into tab(...) values ($_POST[...])";//省略字段和值

那么多个提交的方法一,表单是:

form

input type=text name=name1input type=text name=sex1input type=text name=age1input type=text name=address1

input type=text name=name2input type=text name=sex2input type=text name=age2input type=text name=address2

/form

PHP存数据库语句是:

$sql="insert into tab(...) values ($_POST[...1])";//省略字段和值

mysql_query($sql);

$sql="insert into tab(...) values ($_POST[...2])";//省略字段和值

mysql_query($sql);

上面方法一写的例子是两条,多条的方法相同,技巧就是输出表单使用JS的循环,存盘的PHP代码也可以循环,并且能够判断为空的就不提交,比如表单20条,只填了5条,就只存5条到数据库。

方法二是使用数组,表单:

form

input type=text name=nameinput type=text name=sexinput type=text name=ageinput type=text name=address

input type=text name=nameinput type=text name=sexinput type=text name=ageinput type=text name=address

input type=text name=nameinput type=text name=sexinput type=text name=ageinput type=text name=address

/form

PHP代码是:

for ($i=0;$icount($_POST["name"]);$i++)

if ($_POST["name"][$i]!='')

{

$sql="insert into tab(...) values ($_POST[...][$i])";//省略字段和值

mysql_query($sql);

}

这样表单可以写任意多行,PHP里面是数组,能够自动获取有多少数据。

thinkphp多表修改 的问题

不知道 “两个表一起修改,修改不成功”具体的表现是什么。至少if($unames $users)只一句是有问题的:

thinkphp开发手册中关于save函数的返回值的描述:如果查询错误或者数据非法返回false,如果更新成功返回影响的记录数

也就是说,你原封不动的提交一个表,这样即便更新成功返回的却是0,因为数据不变,影响的记录数为0,那么if($unames $users)就会有问题了。这样的话,如果你同时修改两个表,其中一个表改了数据而另一个没改,结果就是if(1 0)即是false了。

所以正确的方法应该是

if($unames!==false  $users!==false){} // 注意是!==


本文名称:php多表数据修改 数据库修改多表
URL地址:http://myzitong.com/article/dodcieg.html