1
我有這樣的代碼:出的內存非常簡單的SQL查詢
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/framework/classes/DBConnection.php');
define('DB_NAME', 'thename');
define('DB_HOST', 'thehost.com');
define('DB_USER', 'user');
define('DB_PASSWORD', 'pwd');
// Connect to database
function db_connect() {
return DBConnection::GetConnection();
}
function getMeta($conn) {
$sql = "SELECT order_ref FROM orders LIMIT 0,1";
$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->bind_result($ref);
$stmt->fetch();
$stmt->close();
return $ref;
}
function getMeta2($conn, $page) {
$sql = "SELECT meta FROM pages_meta WHERE pageid = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $page);
$stmt->execute();
$stmt->bind_result($meta);
$stmt->fetch();
$stmt->close();
return $meta;
}
$conn = db_connect();
?>
</head>
<body>
<h1>Hello World</h1>
<?php echo getMeta($conn); ?>
<br>
<?php echo getMeta2($conn, "homepage"); ?>
</body>
</html>
<?php
$conn->close();
?>
輸出:
Hello World
1407324725
Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 4294967296 bytes) in /home/rnsalarm/co2supermarket.co.uk/test.php on line 41
咦???!運行此SQL時,出現內存不足異常:
SELECT meta FROM pages_meta WHERE pageid =?
該表只有15行,即使它有索引。任何想法發生了什麼?該網站的其餘部分工作正常,只是這一個查詢它拋出搖擺。增加一些更多的奧祕;它工作正常,如果我在我的本地開發計算機上運行,連接到相同的數據庫,只有當它被上傳到服務器,我得到這個問題。這很奇怪。就像我說的那樣,網站的其他部分工作得很好。
有什麼想法這裏發生了什麼?