繁体   English   中英

查询未插入,但也不给出错误

[英]Query not inserting, but not giving error either

我得到了这个查询,它没有插入数据库,但也没有给出错误。

        try {
        $sth = $Db->dbh->prepare("INSERT INTO users (username,password,email,phone,first_name) VALUES (:username,:password,:email,:phone,:firstname)");
        $sth->execute(array(':username' => $username,':password' => $password, ':email' => $email,':phone' => $phone,':firstname'=>$firstname));
    } catch(Exception $e) {
        echo $e->getMessage();
        exit();
    }

在此处输入图片说明 我试过通过命令插入查询,它工作正常。 该网站上还有其他插入查询,这些查询也可以正常工作。.我不确定我在做什么错

你可以尝试这样的事情吗?

try
{
    // Prepare Statement
    if (!($stmt = $mysqli->prepare("INSERT INTO users (username,password,email,phone,first_name) VALUES (?,?,?,?,?)")))
        throw new Exception("Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error);

    // Bind Parms
    if (!$stmt->bind_param("sssss", $username, $password, $email, $phone, $firstname))
        throw new Exception("Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error);

    // Execute Statement
    if (!$stmt->execute())
        throw new Exception("Execute failed: (" . $stmt->errno . ") " . $stmt->error);
}
catch (Exception $ex) {
    exit('Error: '. $ex->getMessage());
}

PS至于TiiJ7对你的问题的意见建议,是那些两列permrank -他们nullable列? 如果不是,则可能必须在插入行时指定一个值。

此处的更多信息: http : //php.net/manual/en/mysqli.quickstart.prepared-statements.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM