php - mysql_query() 奇怪的行为

标签 php mysql

我有一段 PHP 代码调用 mysql_query() 在远程数据库中插入一行。

奇怪的是 mysql_query() 总是返回 false 但是当我检查我的数据库时我可以看到该行被正确插入。

我的 PHP 版本是 5.4.3,这是我使用的代码:

class dbmanager{

    public function executeQuery($sql){
       $con = mysql_connect(config::getBBDDServer(), config::getBBDDUser(), config::getBBDDPwd());
       if (!$con){
           die('Could not connect: ' . mysql_error());
       }

       mysql_select_db(config::getBBDDName(), $con);

       $result = mysql_query($sql);

       mysql_close($con);

       return $result;
    }
}

//另一个文件...

private function insertRow($name, $descrip){
    $sql = sprintf("INSERT INTO myTable (name, descripction) VALUES ('%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description));    

    $db = new dbmanager();
    $result = $db->executeQuery($sql);

    if($result){ // always FALSE
        return mysql_insert_id();
    }else{
        return false;
    }
}

有人知道这里发生了什么吗?

最佳答案

您关闭与数据库的连接

mysql_close($con);

在那之后你尝试调用

mysql_insert_id();

当然会返回false。

尝试使用

public function __destruct () {
    mysql_close($con);
}

代替

mysql_close($con);

在你的类里面。

关于php - mysql_query() 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394032/

相关文章:

php - MySQL秒到格式化日期时间

mysql 在哪里匹配

mysql - Vb和MySQL连接和代码错误

php - Laravel 命令短选项

php - isset 和空函数在不应该执行的时候执行代码 - PHP

php - 如何编写查询来选择相似的标题?

php - 如何使用左连接选择涉及当前用户的对话

php - 如何异步运行多个 fsockopen()

mysql - Sonar 错误 - 无法执行 Sonar : Fail to extract sonar-runner-batch. jar:设备上没有剩余空间

mysql - MySql View 脚本中的注释