有时候是在数据库的刚刚进行更新的数据没有提交。请提交后,在清除ie缓存或者重启ie(重新开启一个session)来刷新数据。应该就可以看到最新的数据了。
在安图等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站建设 网站设计制作按需求定制制作,公司网站建设,企业网站建设,品牌网站建设,营销型网站建设,成都外贸网站建设公司,安图网站建设费用合理。
举例如下:
创建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
$host = "服务器";
$user = "用户名";
$pass = "密码";
$db = "数据库名";
$conn=mysql_connect($host,$user,$pass);
mysql_select_db($db,$conn);
mysql_query("SET NAMES 'gbk'");
?
?php
$mid=$_GET['mid'];
$sql="select * from symbols where id='$mid'";
$query=mysql_query($sql);
$rs=mysql_fetch_array($query);
?
form method="post" action=""
tr
tdinput name='id1' type='text' value='?php echo $mid;?' disabled//td
tdinput name='country' type='text' id='country' value='?php echo $rs[1];?' //td
tdinput name='animal' type='text' id='animal' value='?php echo $rs[2];?' //td
tdinput name='cname' type='text' value="?php echo $rs['cname'];?" //td
tdinput name='bthModify' type='submit' id='bthModify' value='修改' //td
/tr
/form
?php
if($_POST['bthModify']){
$country=$_POST['country'];
$animal=$_POST['animal'];
$cname=$_POST['cname'];
$sql="update symbols set country='$country',animal='$animal',cname='$cname' where id='$mid'";
mysql_query($sql);
echo "scriptlocation.href='temp.php';/script";
}
显示页面:
?php
$host = "服务器";
$user = "用户名";
$pass = "密码";
$db = "数据库名";
$conn=mysql_connect($host,$user,$pass);
mysql_select_db($db,$conn);
mysql_query("SET NAMES 'gbk'");
?
table cellpadding=10 border=1
?php
$sql="select * from symbols";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
$id=$row[0];
?
form method="post" action=""
tr
td城市:?php echo $row[1];?/td
td镇:?php echo $row[2];?/td
td名字:?php echo $row[3];?/td
tda href="temp1.php?mid=?php echo $id;?"修改/a/td
/tr
/form
?php
}
?
/table
你的错误主要在这里
$sql="UPDATE symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
当存在中文字符时,中文字符用''包围,而英文字符不用,否则会出错的。
像这种symbols.id,句号.只是用于表示指向的,如果是你在单个表中可以把表名省去,就用id就行,只有在多表查询中才需要指明某个字段属于哪个表单。
还有你下面的 $result=$mysqli-query(sql);sql前面应该加一个$。
下面是我改的代码,经过测试可以方便使用:
有个比较怪异的地方是,$_POST[cname_],它在POST表单中自动添加为cname_,这个是var_dump($_POST)测试的得到的结果,var_dump函数用于查看变量类型以及变量值的。还有后面把表单处改为
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
actio指向自身,而且将其放在输出循环中,字符集也改为了UTF8,header头先输出声明,否则在IE以为的浏览器中会出现乱码
?php
header("Content-type: text/html;charset=UTF-8");
$host = "localhost";
$user = "root";
$pass = "";
$db = "phpdev";
$mysqli = new mysqli($host, $user, $pass, $db);
if (mysqli_connect_errno()) {
die("Unable to connect!");
}
$mysqli-query("SET NAMES 'utf8'");
if (isset($_POST['bthModify'])) {
$sql="UPDATE {$db}.symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
$result=$mysqli-query($sql);
// var_dump($sql);
if ($result) {
echo "修改成功";
}else {
echo "修改失败";
}
}
$query = "SELECT * FROM symbols";
if ($result = $mysqli-query($query)) {
if ($result-num_rows 0) {
echo "table cellpadding=10 border=1";
while($row = $result-fetch_array()) {
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
echo "tr";
echo "tdinput name='id' type='text' id='id' value='$row[0]' //td";
echo "tdinput name='country' type='text' id='country' value='$row[1]' //td";
echo "tdinput name='animal' type='text' id='animal' value='$row[2]' //td";
echo "tdinput name='cname ' type='text' id='cname' value='$row[3]' //td";
echo "tdinput name='bthModify' type='submit' id='bthModify' value='修改' //td";
echo "/tr";
echo "/form";
}
echo "/table";
}
$result-close();
}
?