关于通过mysqli使用更新

时间:2013-03-08 03:43:30

标签: php mysql sql mysqli

目前我非常疲惫,试图弄清楚为什么这个函数没有按预期工作(在php类中):

function actualizarPromos($nombre,$desc,$motivo,$id){
global $mysqli;
$sql="update promociones set nombre='".utf8_decode($nombre)."', desc='".utf8_decode($desc)."', motivo='".$motivo."' where id='".$id."'";
$mysqli->query($sql);
if($mysqli->insert_id>0){
            //It saved the data
    echo "Salvado";
}
else{
    //It didn't save the data   
        echo "No salvado";
    echo $mysqli->insert_id;
    echo "<br>".$sql;
}

}

我无法获得更新数据库内容的功能。我已经尝试在phpmyadmin上编写de语句:

update promociones set nombre='cumple', desc='muy buen cumple', motivo='mCumple' where id='13';

它根本不执行。有人可以帮帮我吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

desc是MySQL中的Revered Word,因此您的查询很可能失败。你需要使用反引号来逃避它 - “

$sql="update promociones set nombre='".utf8_decode($nombre)."', `desc`='".utf8_decode($desc)."', motivo='".$motivo."' where id='".$id."'";