判断是否修改成功,要检查 mysql_affected_rows 的返回值
mysql_query 对于非 select 指令,返回逻辑值:指令正确 true,指令错误 false
你 if($sql!=="") 总归是判断不出来的
mysql_query 对于非 select 指令,返回逻辑值:指令正确 true,指令错误 false
你 if($sql!=="") 总归是判断不出来的
这位大哥 怎么echo 出来 小弟是是个新手
就是在那条sql语句后面加上
echo $sql;exit();
在页面上显示这条sql语句,看有没有问题,然后再拿着这条sql语句在数据库中运行一下,看有错误没
{
echo"<script>alert('修改成功');window.location.href='contact.php';</script>";
}
else
{
echo"<script>alert('修改失败');window.location.href='co_up.php';</script>";
}还有你的sql指令有问题吧,每个等式用逗号隔开。
==》改为
if(isset($_POST['submit'])){ 比较好。
$sql=mysql_query("update tbl_contact set coID='$coID',coName='$coName',coSex='$coSex',coAge='$coAge',coCell1='$coCell1',coCell2='$coCell2',coTel1='$coTel1',coTel2='$coTel2',coFax='$coFax',coQQ='$coQQ',coMSN='$coMSN',coAddr='$coAddr',coOrder='$coOrder' where ID=$ID");
include"conn.php";
$ID=$_GET['ID'];//这里为什么是$_GET?,不是post么?
$coID=$_POST['coID'];
$coName=$_POST['coName'];
$coSuID=$_POST['coSuID'];你的id没有取到,当然在sql语句中where id=$id这里不能修改指定的数据了。
exit("update tbl_contact set coID='$coID',coName='$coName',coSex='$coSex',coAge='$coAge',coCell1='$coCell1',coCell2='$coCell2',coTel1='$coTel1',coTel2='$coTel2',coFax='$coFax',coQQ='$coQQ',coMSN='$coMSN',coAddr='$coAddr',coOrder='$coOrder' where ID=$ID"); 你的语句中 coAge='$coAge'coCell1='$coCell1'coCell2='$coCell2',怎么能运行呢????
{
...//如果你的sql语句没问题的话,这样就行
$ID=$_GET['ID'];
$coID=$_POST['coID'];
$coName=$_POST['coName'];
$coSuID=$_POST['coSuID'];
$coAge=$_POST['coAge'];
$coCell1=$_POST['coCell1'];
$coCell2=$_POST['coCell2'];
$coTel1=$_POST['coTel1'];
$gs=$_POST['coTel2'];
$coFax=$_POST['coFax'];
$coQQ=$_POST['coQQ'];
$coMSN=$_POST['coMSN'];
$coAddr=$_POST['coAddr'];
$coOrder=$_POST['coOrder'];
然后在后面,挨着。
echo $ID;
echo $coID;
......
然后看他是不是空值或者是乱七八糟的字符。
如果你值都没有传过来,肯定会错。
这样,你先把处理页面代码里边的数据die或者print_r出来。首先检查是不是值没有取到。如果值都取到了且正确,接下来检查是不是sql语句的错误。die("sql=".$sql);
把页面的sql语句放到数据库中执行。如果错误的话,肯定是sql语句的错误。如果也正确的话,那接下来可能就是你的处理逻辑的错误了。
比如说if($sql!=="")这样的处理就是一个错误的逻辑,sql语句正确不代表执行结果正确。你要用if(mysql_num_rows($res)) 或者mysql_affected_rows()判断影响行数。祝lz好运。
把这句话if($sql!=="")
{
echo"<script>alert('修改成功');window.location.href='contact.php';</script>";
}
else
{
echo"<script>alert('修改失败');window.location.href='co_up.php';</script>";
}
改成
if($sql)
{
echo"<script>alert('修改成功');window.location.href='contact.php';</script>";
}
else
{
die("update tbl_contact set coID='$coID',coName='$coName',coSex='$coSex',coAge='$coAge'coCell1='$coCell1'coCell2='$coCell2',coTel1='$coTel1',coTel2='$coTel2',coFax='$coFax',coQQ='$coQQ',coMSN='$coMSN',coAddr='$coAddr',coOrder='$coOrder' where ID='$ID'");
}
这样如果没有插入进去就会显示你的SQL语句,你看看各个值是否传递过来了,然后将语句复制一下放到SQL数据库中看看能否执行成功,如果不能执行成功则说明你的SQL语句有问题,尝试修改直到插入成功为止,然后将语句格式应用到你的程序当中,对了你的那句话(if($_POST[submit]!==""){})最好改成if($_POST['submit'] && $_POST['submit']!=""){}////////////////////////////
$_POST[]中的内容要加“''”的