PHP 更新数据,谁帮我看看这个是有什么错啊,不是SQL语句的错误

页面执行部分<?phpinclude("Conn.php");?><?$portalsf=$_POST["portalsf"];$caseId=$_POST["caseI... 页面执行部分
<?php
include("Conn.php");

?>
<?
$portalsf=$_POST["portalsf"];
$caseId=$_POST["caseId"];
$criti= $_POST["Criticality"];
$actionType= $_POST["ActionType"];
$creator=$_POST["creator"];
$sql="update cases set Criticality='$criti',ActionType='$actionType' where Id='$caseId'";
mysql_query($sql);
echo $sql;
if(mysql_query($sql)){
// header("refresh:0;url=Case.php?id='$portalsf'");//跳转页面,注意路径
echo "<script language=javascript>alert('保存成功');</script>";
}else {
echo "<script language=javascript>alert('保存失败');</script>";
}
?>

连接数据库部分
<?php

$mysql_servername = "127.0.0.1";
$mysql_username = "root";
$mysql_password ="mysql";
$mysql_database ="newname";

$conn = mysql_connect($mysql_servername , $mysql_username , $mysql_password) or die("数据库连接错误".my_sqlerror());
mysql_select_db($mysql_database,$conn) or die("数据库连接错误".my_sqlerror());
mysql_query("set character set utf8");
mysql_query("set names utf8");

?>
这个是打印出来的SQL语句,是不存在问题的,另外,可以执行插入语句,但就是不能执行更新和删除
update cases set Criticality='高',ActionType='需求分析' where Id='1'
这条SQL语句放到Mysql中是可以执行的,所以说这条Sql语句不存在问题,但为什么mysql_query执行会返回false呢?
展开
 我来答
余帅乐
2011-08-30
知道答主
回答量:11
采纳率:0%
帮助的人:4.5万
展开全部
楼主您好,
首先,Conn.php中连接没问题,
而你又说竖sql语句没问题,
不知道你为什么这么肯定
你还是有必要去输出一下的
看是否正常的接收了数据
如果这些都没问题的话
那我猜就是数据库里写的时候的编码问题
把数据库编码改成一致的
海山1314
2011-08-29 · TA获得超过405个赞
知道小有建树答主
回答量:228
采纳率:50%
帮助的人:106万
展开全部
楼主您好,
首先,Conn.php中连接没问题,
而你又说竖sql语句没问题,
不知道你为什么这么肯定
你还是有必要去输出一下的
看是否正常的接收了数据
如果这些都没问题的话
那我猜就是数据库里写的时候的编码问题
把数据库编码改成一致的

希望对您有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
79600501
2011-08-28 · TA获得超过850个赞
知道小有建树答主
回答量:1681
采纳率:0%
帮助的人:857万
展开全部
这里
$sql="update cases set Criticality='$criti',ActionType='$actionType' where Id='$caseId'";
改为
$sql="update cases set Criticality=“.$criti.”,ActionType=“.$actionType.” where Id=“.$caseId;
更多追问追答
追问
的确提示了保存成功,但数据库里面并没有更新字段啊!这个是怎么回事
追答
echo 你的 $sql看看是啥字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勤奋的大貝义昭6c
2011-08-30
知道答主
回答量:16
采纳率:0%
帮助的人:13万
展开全部
在 $sql="update cases set Criticality='$criti',ActionType='$actionType' where Id='$caseId'";之后加一句:echo $sql;die;查看输出语句是否是你想执行的数据,并且认真看一下你的这两个字段名是否与你表中的字段名一致。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
理叶孤丹pX
2011-08-29 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:151万
展开全部
建议获得$sql到数据库执行一次看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1615552979
2011-08-30
知道答主
回答量:5
采纳率:0%
帮助的人:8490
展开全部
update 语句在mysql_query后,只要语法正确,就会返回true。但是具体语义正确与否,是不能检查的,请把SQL语句打印出来,看输出的SQL是否真正是您想要执行的结果,同时,把这个SQL可以直接放进客户端或者命令行中执行,看有没有报错。
希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式