不在脚本中的MySQL查询会继续触发

时间:2017-02-07 16:56:30

标签: php mysql

我有一个执行MySQL查询的脚本:

/*
* Gets total number of rows
*/
$resultscount = executeSQL("SELECT COUNT(*) FROM `KeywordTokens New` WHERE `IsItSubjectTerm`=''");
$total = $resultscount->fetch_row();
d($total[0]);

...

$dbU2Query = "UPDATE `KeywordTokens New` SET `IsItSubjectTerm` = 'YesByF2' ".$regexp2;
    $dbU3Query = "UPDATE `KeywordTokens New` SET `IsItSubjectTerm` = 'NoByF2' ".$regexp3;
    $results2 = executeSQL($dbU2Query);
    $results3 = executeSQL($dbU3Query);
    var_dump($results2);
    d($results2);
    var_dump($results3);
    d($results3);

d()是一个自定义函数,与var_dump()非常相似。

function executeSQL ($dbQuery1) {
                        global $mysql_host, $mysql_user, $mysql_pw, $mysql_db;
            $mysqli = new mysqli($mysql_host, $mysql_user, $mysql_pw, $mysql_db);

            //$mysqli = new mysqli('localhost','root','root','OCLC', '3306', '/Applications/MAMP/tmp/mysql/mysql.sock');
            //Output any connection error
            if ($mysqli->connect_error) {
                die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
            }

            //MySqli Insert Query
            //$mysqli->query( 'SET @@global.max_allowed_packet = ' . strlen( $dbQuery1 ) + 1024 );
            d($dbQuery1);
                        $result = $mysqli->query($dbQuery1);
            print $mysqli->error;

            d($result);
            if (!$result) {
                 printf("%s\n", $mysqli->error);
            }
            echo (DEBUG ? "<><><><><>".strlen($dbQuery1): "");
            return $result;
        }

奇怪的是,输出不是我的预期。我在mysql.general_log中启用了查询的记录,我发现一个意外的查询与上面的代码一起被触发,并且它一直在发生。

UPDATE `KeywordTokens New` SET `IsItSubjectTerm` = 'NoByF1' WHERE `Keyword` LIKE '%%'

没有其他用户和其他脚本正在执行。

这是怎么回事?

0 个答案:

没有答案