Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于低速mysql连接的函数store_result()_Php_Mysql - Fatal编程技术网

Php 用于低速mysql连接的函数store_result()

Php 用于低速mysql连接的函数store_result(),php,mysql,Php,Mysql,我对OVH MySQL有一个问题。继续断开连接。我想使用store_result(),但我不知道如何添加这个函数 代码: function executeQuery($query) { $db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); if ($db == FALSE) return -1; if ((mysql_select_db(DB_NAME, $db)) == FALSE) re

我对OVH MySQL有一个问题。继续断开连接。我想使用store_result(),但我不知道如何添加这个函数

代码:

function executeQuery($query) {
    $db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if ($db == FALSE)
        return -1;
    if ((mysql_select_db(DB_NAME, $db)) == FALSE)
        return -1;
    $result = mysql_query($query, $db);

    if ($result == FALSE)
        return -2;
    if (!($result === true)) {
        while ($row = mysql_fetch_array($result)) {
            $ret[] = $row;
        }
    } else {
        $ret[] = $result;
    }
    mysql_close($db);
    if (isset($ret))
        return $ret;
    return 0;
}

你实际上做了一些非常错误的事情

每次调用
executeQuery()
函数时,都会建立一个新的
mysql\u connect()
,然后是一个
mysql\u select\u db()
。这是相当昂贵的,而且不是正确的方式。您需要在此处重用已建立的连接

关于如何重用连接,已经有了一个答案


其次,您使用的是obselete数据库API,即已弃用的
mysql.*
函数。切换到
MySQLi
PDO

使用PDO或MySQLi,因为mysql_*函数会贬值。您的问题与哪个
存储结果()
函数相关?当您遇到连接丢失时,使用它的理由是什么?您的条件令人困惑。你为什么要打字!对,但假设第一次$result检查为false。如果mysql_query返回false,您将永远不会首先进入该条件,因此这是一个要检查的位置。
If($result==false)
If(!($result==true)){
是相同的