mysqli:没有错误,但没有做它应该做的事情

时间:2018-02-08 22:24:55

标签: php mysqli

我正在尝试将现有的mysql代码更改为mysqli。尽管遵循了许多在线指南并花费了大约7个小时,但我无法让它发挥作用。我的代码如下(我试图将功能存储在一个文件中) - 任何帮助表示赞赏。

第一档:

function db_query($query) {
    // Try and connect to the database, if a connection has not been established yet
    $con = new mysqli($hostname, $username, $password, $database);

    // If connection was not successful, handle the error
    if ($con == false) {
        // Handle error - notify administrator, log to a file, show an error screen, etc.
        return mysqli_connect_error(); 
    }
    return $con;

    // Query the database
    $result = mysqli_query($con, $query);
    return $result;
}

第二档:

$result = db_query("INSERT INTO logs(`email`, `logged`, `ip`) VALUES('" . $user . "', '" . $logged . "', '" . $IP . "')");
if ($result == false) {
    echo "fault here";
    // Handle failure - log the error, notify administrator, etc.
} else {
    // We successfully inserted a row into the database
    echo "log added";
}

我检查过所有变量都包含正确的值,然后我添加了"日志"屏幕上显示消息,但实际上没有任何内容添加到数据库中。

我做了一些愚蠢的错误吗?

1 个答案:

答案 0 :(得分:0)

您的import calender def days_in_month(year, month): if (month < 1) or (month > 12): print ("please enter a valid month") elif (year < 1) or (year > 9999): print ("please enter a valid year between 1 - 9999") else: return calendar.monthrange(year, month)[1] 函数永远不会执行mysqli_query,因为有一个db_query语句会终止其执行。

您应该像这样编辑第一个文件

return

N.B。请记住使用mysqli_close功能关闭与数据库的连接。