我做一个关于投票的页面,数据库连接成功了,下面是执行sql的方法,查询不报错,返回2,但是数据库数据不更新
但是在phpmyadmin执行sql成功也能更新数据
$sql="update vote set num=num+1 where name='布什' ";
public function execute_dml($sql){
$b=mysql_query($sql,$this->conn) or die("执行失败!".mysql_error());
if(!$b){
return 0;//执行失败
}else{
if(mysql_affected_rows($this->conn)>0){
return 1;//表示执行ok
}else{
return 2;//表示没有行受到影响
}
}
}我感觉代码应该没问题,应该是其他问题
------解决方案--------------------
如果不是其他的问题,那就可能是编码的问题。比如‘布什’ 这个在页面中是UTF-8的编码而数据库中是GBK的。
建议使用主键查询,还能保证唯一性。
------解决方案--------------------
编码问题吧,你的表是什么编码,有没有执行set names utf8 语句。