如何优化这个PHP SQL脚本?
我将下面的SQL查询用于我的.net授权系统,该系统通过用PHP编写的后端api授权用户 现在我在SQL方面不是很聪明,但是如果有人能给我指出正确的方向来优化下面的代码,那将非常有帮助 连接PHP:如何优化这个PHP SQL脚本?,php,mysql,sql,Php,Mysql,Sql,我将下面的SQL查询用于我的.net授权系统,该系统通过用PHP编写的后端api授权用户 现在我在SQL方面不是很聪明,但是如果有人能给我指出正确的方向来优化下面的代码,那将非常有帮助 连接PHP: <?php define('DB_HOST', 'localhost'); define('DB_NAME', 'test'); define('DB_USERNAME', 'user'); define('DB_PASSWORD', 'Codwawmw2%'); $odb = new PD
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'test');
define('DB_USERNAME', 'user');
define('DB_PASSWORD', 'Codwawmw2%');
$odb = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USERNAME, DB_PASSWORD);
?>
} elseif ($Action == "BackLogin"){
$userID123 = $_GET['uid'];
$hwid = $_GET['hwid'];
$ip = getRealIpAddr();
$pcname = $_GET['pcname'];
$time123 = time();
$GetRows = $odb->query("SELECT * FROM `Account` WHERE uid = '$userID123'");
$row_count = $GetRows->rowCount();
$count = $row_count;
if($count == 0){
$odb->exec("INSERT INTO `Account` (id, uid, cpukey, ip, pcname, online, function, lastlogon) VALUES(NULL,'$userID123','$hwid','$ip','$pcname','0','None','$time123')");
$response = 'Not Banned';
} else {
$response = 'Not Banned';
}
if ($response == "Not Banned")
{
$finaleresponse = "Success";
$odb->exec("UPDATE Account SET `online` = '1', `lastlogon` = '$time123', `ip` = '$ip' WHERE `uid` = '$userID123'");
}
else
{
$finaleresponse = "Error";
}
echo Encrypt($finaleresponse);
}
顺便说一句,我需要优化脚本的原因是,每次50多个客户端同时运行脚本时,它都会在网站/服务器上造成沉重的负载,并且会将整个网站拖到无负载的地步
感谢所有能够提供帮助的人:)请获取所选字段,而不是*。快速得到你的结果
$GetRows=$odb->query(“从
帐户中选择uid、cpukey、ip、pcname,其中uid='$userID123') 说。即使是这样也不安全!以什么方式优化?速度效率?代码行?您似乎没有AI列或PK。AI'd列不接受空值,这就是我这么说的原因。您的表有索引吗?50个用户与MySQL无关。警告:当使用PDO时,您应该与占位符值一起使用,并且只将任何用户数据作为execute
上的参数提供。在这段代码中,您可能会遇到严重的问题。有关如何避免此类问题的建议,请参阅。