PHP 7.0插入记录的奇怪问题

时间:2016-06-30 09:47:47

标签: php mysql

在你提问之前,我确实搜索了网站,但没有发现任何人有类似的问题。

我只是将一些代码升级到带有mysqli函数的PHP 7.0,所以这对我来说都是新手。我有一个函数,如果没有传入id,将添加一个记录,如果传入了id,则更新它。它的更新部分有效,但插入没有。我试图回应查询,没有任何显示在屏幕上。它曾经用于mysql函数。我也回应了角色id,它肯定是0。

这可能是PHP专家会很快发现的,所以请原谅像我这样的新手。

以下代码。

function saveRole($role_id=0,$role) {

    global $database,$form; // the database and form objects, nothing wrong with the connection

    if($form->value('role') == "")
    {
        $form->setError("role",$role); // this is handled by the form object
    }

    if($form->num_errors == 0)
    {
        $form->setValue("role",$role);

        if($role_id == 0){
            $q="INSERT INTO ".TBL_USER_ROLES." (role) VALUES ('".$role."')";
            echo $q; // nothing shows?
            exit;

        }
        else {
            $q="UPDATE ".TBL_USER_ROLES.
               " SET  role='".$role."'".
               " WHERE role_id=". $role_id;
        }


        $database->query($q);
    }
}

2 个答案:

答案 0 :(得分:0)

我把它整理出来,感谢RiggsFolly:

    if($form->value('role') == "")
    {
        $form->setError("role",$role);
    }

if($form->value('role') == "") { $form->setError("role",$role); }

应该是:

    if($role == "")
    {
        $form->setError("role",$role);
    }

答案 1 :(得分:-4)

如果条件似乎是$ role_id undefined

,则重写

{{1}}