php mysql 知道指定表中的id字段的值,向该值的其它字段写入数据,具体如何实现,本人菜鸟!

知道id了, 要向whether area size type 字段写入内容!

$db = new mysqli(数据库地址, 用户名, 密码, 数据库名字);
//$id为 id 的值
$stmt = $db->prepare('UPDATE 表的名字 SET Whether=?, area=?, size=?, type=? WHERE id=$id');
$whether = whether的值;
$area = area的值;
$size = size的值;
$type = type的值;

//这里ssss表示这4个变量的类型,按顺序表示第一个变量whether为string
$stmt->bind_param('ssss', $whether, $area, $size, $type);
if(!$stmt->execute()){
    //update失败
    var_dump($stmt->error);
} elese{
    //update成功
}

用sql中的UPDATE命令来更新数据库内容

追问

$sql=mysql_query("update visitor set Whether='$_GET[whether]',size='$_GET[size]',area='$_GET[area]',type='$_GET
[type]' where id=$_GET[Current]");
size字段更新了, 其它的字段没有, GET[size]是数字,其它是字符串

追答

试着读取下error message:

var_dump(mysql_affected_rows());
var_dump(mysql_error());

最好也检测var_dump一下query的这条sql看一下对不对。

追问

可能是get传递中文要转码的问题,数字可以写入,中文乱码要不就空白, 不过手机访问提交数据没有问题,很奇怪,难道手机提交的格式不一样?还好我做的是手机网页,可以先用着,转码 问题慢慢调试!

追答

在url中的非[a-zA-Z0-9]的字符都会被编码,所以php里需要encode一下就好了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-31
UPDATE 数据库名 SET 'name1'=name1,'name2'=name2,……,where id=XXX追问

$sql=mysql_query("update visitor set Whether='$_GET[whether]',size='$_GET[size]',area='$_GET[area]',type='$_GET
[type]' where id=$_GET[Current]");
现在可以更新了, 只有size 字段显示正常是数字,其它的字符串写入后是空白

追答

你更新时对应的字段名字要和数据库中的一致,同时数据类型也要相同,不然都有可能出问题 你可以看看www.w3cschool.com上的SQL语句案例