PHP:如何使用较少的查询

标签 php mysql

有一款基于粉丝的 php 游戏,其中一个文件有超过 300 个查询。我想优化它并使其具有更少的查询,这样它就不会崩溃,因此它运行得更快。

所以我的问题是如何制作一个更少查询的 php 脚本。

示例:

if ('this' == 'this')
{
   mysql_query("INSERT INTO users VALUES(' ', '$user', 'pass'"); 
}


if ('1' == '1')
{
   mysql_query("INSERT INTO users VALUES(' ', '$user', 'pass'"); 
}

我想尝试一下:

function do()
{
    mysql_query("INSERT INTO users VALUES(' ', '$user', 'pass'");     
}


if ('crap' == 'crap')
{
    do();    
}


if ('1' == '1')
{     
    do();    
}

但后来意识到它是一样的,所以有什么想法吗?谢谢

最佳答案

在您的示例中,您所需要做的就是更改 if 语句 上的变量 并运行一个查询。

function do(insert your parameters)
{

  if (blah == blah)
  {


      if ('1' == '1')
      {     
        // set variables 
      }

      elseif('crap' == 'crap') 
      {
        //set variables
      }

      else 
      {
      // set variables
      }

      mysql_query("INSERT INTO users VALUES(' ', '$user', 'pass'");     

  }

  else {

  return false;

  }

}

这也可能是 switch case 语句 的一个很好的候选者。 http://php.net/manual/en/control-structures.switch.php

switch ($myvariable) {
    case "crap":
        $myvariable = "blah";
        break;
    case 1:
        $myvariable = "blah";
        break;
    default:
       $myvariable = "blah";
}

这是一个简单的例子,但不知道你到底需要什么,这可能会有所帮助。我还建议您使用 mysqli 而不是 mysql,因为 mysql 已被弃用。

关于PHP:如何使用较少的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17626073/

相关文章:

mysql - 我不明白为什么下面的代码出现语法错误。谁能帮我?

MYSQL 日期作为列标题?

mysql - 如何查看阻止我创建存储过程的错误?

python - 如何使用测试数据库响应 django.test.Client

php - 如何从 jEditable 返回新值

php - 填充数组并通过 AJAX 发送的脚本

php - Codeigniter 数据库连接错误

php - 在 Mozilla 的 iframe 上禁用键和鼠标单击

php - 在 PayPal 中使用 X-PAYPAL-AUTHORIZATION header 进行 TransactionSearch

sql - 为什么这个 SQL 查询返回重复的记录,而数据库中没有重复的记录?