问问题
24507 次
3 回答
17
于 2012-11-28T04:40:59.220 回答
14
它可能发生在几个地方:1)查询本身,或 2)mysqli 实例的创建(以及生成的数据库连接)。如果我不得不猜测,我怀疑你的问题是(2)。
一种快速而简单的调试方法是使用microtime()
.
http://www.php.net/manual/en/function.microtime.php
例子:
$start = microtime(TRUE); // Start counting
$mysqli = new mysqli('localhost', 'root', '', 'testdb');
$temp = microtime(TRUE) - $start;
echo "Time to connect: {$temp}"; // Check elapsed time
$mysqli->set_charset("utf8");
if(mysqli_connect_errno()) {
echo "Connection Failed: " . mysqli_connect_errno();
exit();
}
$temp = microtime(TRUE) - $start;
echo "Time to setup: {$temp}"; // Check elapsed time
$testreceive = $_POST['test_id'];
$query = "SELECT First_Name from tblperson";
$result = $mysqli->query($query);
$temp = microtime(TRUE) - $start;
echo "Time to query: {$temp}"; // Check elapsed time
$row = $result->fetch_all(MYSQLI_ASSOC);
$temp = microtime(TRUE) - $start;
echo "Time to fetch {$temp}"; // Check elapsed time
于 2012-11-28T04:46:08.263 回答
0
问题是从 localhost 到 127.0.0.1 的 localhost 查找。
解决方案是在@Wap 已回答的情况下将该行添加127.0.0.1 localhost
到您的 Windows 主机文件中(感谢您的回答!)
或者,如果您无权访问主机文件,您只需在 php mysqli 调用中将 localhost 更改为 127.0.0.1:
$mysqli = new mysqli('127.0.0.1'), 'root', '', 'testdb');
于 2015-04-30T17:15:24.540 回答