Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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代码导致我的页面变慢_Php_Html - Fatal编程技术网

PHP代码导致我的页面变慢

PHP代码导致我的页面变慢,php,html,Php,Html,你好,这是我第一次在这里发帖。插入PHP代码时,我的页面响应时间过长: <?php include("config.php"); session_start(); if($_SERVER["REQUEST_METHOD"] == "POST") { // username and password sent from form $myusername = mysqli_real_escape_string($db,$_POST['userna

你好,这是我第一次在这里发帖。插入PHP代码时,我的页面响应时间过长:

<?php
   include("config.php");
   session_start();

   if($_SERVER["REQUEST_METHOD"] == "POST") {
      // username and password sent from form 

      $myusername = mysqli_real_escape_string($db,$_POST['username']);
      $mypassword = mysqli_real_escape_string($db,$_POST['password']); 

      $sql = "SELECT * FROM Administrators WHERE username = '$myusername' and password = '$mypassword'";
      $result = mysqli_query($db,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
      $active = $row['active'];

      $count = mysqli_num_rows($result);

      // If result matched $myusername and $mypassword, table row must be 1 row

      if($count == 1) {
         session_register("myusername");
         $_SESSION['login_user'] = $myusername;

         header("location: index.html");
      }else {
         $error = "Your User Name or Password is invalid";
      }
   }
?>

  • 测量执行时间的方法:
    • 插入
      microtime(1)在要测量的每个零件之前
      
    • 实时打印各部分并分析原因
  • 建议:
    • 获取$sql的内容并在其前面添加
      EXPLAIN
      ,在mysql中运行整个查询,看看是否花费太多时间
    • 例如,
      EXPLAIN SELECT*FROM Administrators,其中username='myusername'和password='mypassword'
    • 避免选择*,而是使用选择用户,传递(您需要的零件)

您可以使用
microtime()
测量代码之间的时间。然而,似乎唯一可能的慢行是
mysqli\u query()
行。您的MySQL服务器是远程/本地的吗?标题(“location:index.html”);-添加exit();此后,重定向后将不会执行其他代码。@Raptor yep我的服务器仅为本地服务器