?php
创新互联主要从事网站建设、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务凤冈,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
mysql_connect('127.0.0.1','root','123456');
$sql="update sjk._sjk set b='1',c='1' where a='123'";
if (mysql_query($sql)) echo '修改成功。';
else echo "修改失败,SQL:$sqlbr错误:".mysql_error();
mysql_close();
?
你的错误主要在这里
$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();
}
?
1、数据库本身都带有replace函数可以直接替换,不同的数据库的replace替换语法不同,可以根据你的实际情况确定使用。这样可以直接使用SQL语句替换就可以了,在PHP中执行这个SQL。
2、直接在PHP使用查询语句,查询出需要替换的数据表数据,之后通过PHP的str_replace方法进行替换,将替换后的结果在创建一个Update的SQL语句,在PHP中再次执行Update语句,也可以实现更新。
根据自己的实际情况确定,选哪种都可以。
希望对你有帮助。
一、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中怎样修改数据库,php数据库修改语句
路径分享:https://www.cdcxhl.com/article26/dscgccg.html
成都网站建设公司_创新互联,为您提供网站营销、营销型网站建设、域名注册、网站维护、服务器托管、定制开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联