网站建设资讯

NEWS

网站建设资讯

php数据库调整 php数据库管理

如何用php修改数据库中的数据

举例如下:

10余年的西市网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整西市建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“西市网站设计”,“西市网站推广”以来,每个客户项目都认真落实执行。

创建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修改数据库问题

你的错误主要在这里

$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();

}

?

关于PHP修改数据库的问题!

我一般是先用几个变量接收传递来的值,再写入到数据库中的。如:

@$s1 = $_GET['id'] ;//@用来消除警告

$a = "select * from cus where id = '$s1'";//假设id类型为varchar ,更新语句也写成类似的,

$a1=mysql_query($a) or die("br表cus不存在此记录!".mysql_error());

//还有你的传递方式是什么?post还是get?怎么这里你都写了?或者你双引号里的连接符点是不是要写到双引号外面


分享文章:php数据库调整 php数据库管理
文章起源:http://cdweb.net/article/hhhjsh.html