2013-07-13 74 views
0

有基於粉絲的PHP遊戲,其中一個文件有300多個查詢。我想過優化它,並用更少的查詢來實現它,所以它沒有崩潰,所以它運行得更快。PHP:如何使用更少的查詢

所以我的問題是我如何做一個較少的查詢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();  
} 

但後來意識到這是相同的,所以任何想法?謝謝

+2

爲什麼你首先有這麼多的查詢?不知道你在做什麼,很難幫助你。 – ApplePie

+1

mysql已棄用。請使用PDO或mysqli –

+0

使用多行插入http://stackoverflow.com/questions/6889065/inserting-multiple-rows-in-mysql – goat

回答

0

在你的例子中,你需要做的就是在if statements上修改variables並運行一個查詢。

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 statement的一個很好的候選人。 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已被棄用。

+0

我知道很好的PHP :),我只是想要一種方式來使用更少的查詢,所以運行腳本的服務器不會崩潰。 – user2578273

+0

哦,好的:)我們也許會給你一些好點子。正如我所提到的,我真的不知道你的腳本,以及如何調用數據庫,但也許加入表格也有助於減少一些查詢。 – Chris78