今天我们公司的一位资深人士告诉我,我为在 MySQL 数据库上执行准备好的语句而编写的 PHP 代码“效率低下”并且“对我们的服务器负担过重”。从那时起,我发现自己处于试图理解他的意思然后解决它的困难境地。我已经四天没有联系到那个人了,所以我问其他开发人员他们对我的代码的看法,以及是否有任何区域可能导致服务器性能出现瓶颈或问题。
我的代码可以工作并在变量 $data 中返回我的查询结果,所以从技术上讲它可以工作。还有另一个问题是它是否有效并且写得好。关于该高级员工的意思或所指的任何建议?这是我用来连接和查询我们的数据库的方法。
(请注意,当我使用“方法”这个词时,我并不是指类中的方法。我的意思是这就是我在连接和查询数据库时编写/构造代码的方式。)
<?php
// Create database object and connect to database
$mysqli=new mysqli();
$mysqli->real_connect($hostname, $username, $password, $database);
// Create statement object
$stmt=$mysqli->stmt_init();
// Prepare the query and bind params
$stmt->prepare('SELECT `col` FROM `table` WHERE `col` > ?');
$stmt->bind_param('i', $var1);
// Execute the query
$stmt->execute();
// Store result
$stmt->store_result();
// Prepare for fetching result
$rslt=array();
$stmt->bind_result($rslt['col']);
// Fetch result and save to array
$data=array();
while($stmt->fetch()){
foreach($rslt as $key=>$value){
$row[$key]=$value;
}
$data[]=$row;
}
// Free result
$stmt->free_result();
// Close connections
$stmt->close();
$mysqli->close();
?>
任何建议或建议都是有用的,即使您只是猜测,也请做出贡献并提供帮助。提前致谢 :)