使用PHP语言向SQL中的一个表update多条记录,使用for循环语句只能更新最后一条信息,请问应该怎么写语句?
你是想实现什么?是要把指定的记录更新成一样的?还是更新的每天数据的值都不一样?我这有集中解决思路:
达茂旗网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
a)建议你面向对象的方式写,把更新的过程(语句)写进了function里(也可以不用写,直接执行sql语句),再在for循环内层调用,这样就会相当于批量执行,这样想更新数据,就要根据for循环的数组中的值而确定。如这样:
$arr=array('desetang','d.n.sky','time');
for($i=0;$icount($arr);$i++){
//update 语句或过程
$a=sqlupdate('表名';所选字段';'条件','更新内容$arr[$i]');//这是我举得例子
}
b)在调试过程中建议echo一下SQL语句,这样会方便的找出是否是sql语句错误
c)检查一下你的for循每次是不会在相同的数据中插入,付sql update
UPDATE`desetang`.`tags`SET`describe`='ui' WHERE`tags`.`id`=36;
php关于update语句的问题
?php
if(@$_GET['action'] == "save")
{
$ID=$_GET['id'];
include_once('uploadclass.php');
$pic=$uploadfile;
$sql="update message set type="'$_POST[type]'",time="'$_POST[time]'",location="'$_POST[location]'",word="'$_POST[word]'",name="'$_POST[name]'",address="'$_POST[address]'",path="'$pic'" where id=$ID";
$result=mysql_query($sql,$conn);
echo "Scriptwindow.alert('发布成功!');/Script";
}
?
sql语句这样加上双引号应该就可以用了
php 更新数据库某一字段
//经过测试,一个很小的问题,只是你的sql语句写错了。
include_once 'cnn.php';
mysql_query("SET NAMES 'gbk'");//解决汉字
$result = mysql_query ( "select * from univ_basic_info" );
while ( $row = mysql_fetch_array ( $result ) ) {
$str1 = strip_tags ($row['univ_kind']);
var_dump($str1);
$i= $row['univ_id'];
mysql_query("UPDATE univ_basic_info SET univ_kind='$str1' WHERE 'univ_id'=$i");
//注意此sql语句,univ_kind 不应该有引号,而变量$str1则应该带引号
//你的错误就在于此
}
本文名称:php数据库变量更新语录,php数据库变量更新语录是什么
网站链接:http://scgulin.cn/article/hshohg.html