十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
看上去没什么错啊,要不你echo $sql看看,是不是post的数据没取到啊
成都创新互联专注于企业营销型网站、网站重做改版、向阳网站定制设计、自适应品牌网站建设、html5、商城网站定制开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为向阳等各大城市提供网站开发制作服务。
修改表名:
ALTER TABLE srcRENAME TO dest;
修改列名:
EXEC sp_rename '表名.[原列名]', '新列名', 'column' (Silver Lee实践有效)
修改列的数据类型:
ALTER TABLE tablename MODIFY col VARCHAR2(255);
如果同时需要修改列名和数据类型,则可以先修改数据类型再来修改列名,即执行上述两条sql语句。
增加列:
ALTER TABLE tablename ADD 列名 数据类型
删除列:
ALTER TABLE tablename DROP COLUMN 列名
如果想在test表中增加一个recommend字段,类型为char,字段长度为1,默认值为‘n’,可以采用以下的sql语句:
ALTER TABLE test ADD recommend char(1) DEFAULT 'n'
您也可以用ALTER TABLE命令为已有的数据表新增完整的新数据行,如下所示:
ALTER TABLE MyTable
ADD columnC tinyint NOT NULL DEFAULT 13
GO
双引号里面是不认变量的 你用字符串连接 ."".斩断连接 试试
"UPDATE uer SET mony=".$sum." where". $m[identity]."=".$_POST[id]";
而外案例讲解
$a="ceshi";
$aa="!!....$a1s...!!";
$b="!!....{$a}s....!!";
$c="!!.....".$a."s...!!";
echo $aa."br";//提示错误
echo $b."br"; //打印!!....ceshis....!!
echo $c //打印!!.....ceshis...!!
如果满意请采纳
举例如下:
创建userinfo_update.php页面用于查询用户信息,先显示信息,在修改:
先通过GET获取用户编号查询用户信息:
$sql = "select * from user_info where user_id='".$_GET['userId']."'";
$result = mysql_query($sql,$con);
if($row = mysql_fetch_array($result)){
}
页面效果:
创建update.php文件,用于修改用户信息:
使用到了mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。
//通过post获取页面提交数据信息
$userId = $_POST[userId];
$userName = $_POST[userName];
$userAge = $_POST[userAge];
$sql = "update user_info set user_name='".$userName."',user_age=".$userAge." where user_id='".$userId."'";
mysql_query($sql,$conn);//执行SQL
$mark = mysql_affected_rows();//返回影响行数
$url = "userinf_select.php";
运行结果
创建delete.php文件,完成删除用户信息功能:
$userId = $_GET['userId'];
include 'connection.php';
$sql = "delete from user_info where user_id='".$userId."'";
mysql_query($sql,$con);
$mark = mysql_affected_rows();//返回影响行数
if($mark0){
echo "删除成功";
}else{
echo "删除失败";
}
mysql_close($con);
运行结果:
php有一个方法是mysql_affected_rows(),这个方法的意思是获取上一次操作数据库的所影响的行数
可以使用这个方法来判断是否update语句是否执行成功。
直接使用mysql_query($sql),个人觉得其实也可以的,但是前提是数据库类型是那种自动提交类型,像MyISAM 而不是需要手动提交的类型,像:InnoDB
个人理解:自动提交类型会直接处理$sql语句,只要这个语句没有错误,那么就一定是执行成功的。并且一定是已经执行了,但是需要手动提交的类型就算这个SQL没有错误,如果你没有手动提交那么这个语句是不会执行的,那么你的表中的数据其实没有改变,这个尽针对于非select语句。
另一个思路你试试:
html:
input type="text" name="A[]" /
input type="text" name="B[]" /
input type="hidden" name="ids[]" value="{$id}" /
php:
?php
$a = $_POST['A'];
$b = $_POST['B'];
$ids = $_POST['ids'];
foreach($a as $k = $v) {
$sql = "update abc set a='{$v}', b='{$b[$k]}' where id='{$ids[$k]}'";
mysql_query($sql);
}