sql插入语句有时无法正常工作

我正在构建一个应用程序,而我遇到了一个奇怪的问题,即有时sql语句将起作用,而下一次调用完全相同的sql语句将根本不起作用。 我个人怀疑它的托管服务提供商Im使用的速度可能不够快,无法接受对数据库的大量sql调用,但我想我至少会问一下是否有人遇到过类似问题     
已邀请:
        可能是您动态添加到查询语句中的值。您应该转义这些值以确保它们不会破坏您的查询。 在PHP中,您可以使用mysql_escape_string()函数。此处的文档:http://us3.php.net/mysql_escape_string 另外,如果您是通过浏览器运行查询,则执行以下操作通常可以看到错误:
$query = mysql_query(\"QUERY\", $db_connection) or trigger_error(mysql_error());
    
        如果您在共享主机上并且无法修改数据库的my.cnf文件,假设您无权访问mysql一般查询日志,则可以按照以下方式编写函数:
function dbInsertQuery($query, $conn) {
     $logFile = \"/path/to/file.txt\";
     $isProd  = FALSE;

     // run your security checks on the query here

     $mysql_query($query, $db_connection) or trigger_error(mysql_error());

     if (!$isProd && is_writable($logFile)) {
       if (!handle = fopen($logFile, \'a\')) {
         echo \"cannot open dbInsertQuery\'s log file: \" . $logFile;
         exit;
       } 

       $logLine = date(DATE_RFC822) . \" - \" . $query;

       if (fwrite($handle, $logLine) === FALSE) {
         echo \"cannot write to dbInsertQuery\'s log file: \" . $logFile;
         exit;
       }

       fclose($handle);
     }

   }
这将使您可以将所有查询记录到日志文件中。我设置了一个
$isProd
变量供您切换开发,如果将其设置为
TRUE
值,它将不会记录到文件中,并且将完全跳过who fopen过程。您可能需要调整它,甚至可能使它运行每个查询,而不仅仅是您想插入的查询。     

要回复问题请先登录注册