嗨 我有一个脚本,返回存储在mysql表中的所有记录。这个脚本在我的具有标准128MB内存限制的xampp服务器上工作得很好。如何调试内存不足问题
致命错误:在对存储器(分配524288)(试图分配4294967294个字节)/websites/LinuxPackage02/nw/cc/_u/nwcc-uk.org/public_html/code/Article.php上线37
但是,当它上传到web融合myserverworld平台,它崩溃。我将如何调试这样的问题?为什么要分配4GB内存?奇怪的是,我的开发服务器只有这么2GB怎么可能把它分配4.
public function getActivity($id,$language='ch')
{
$mysqli = new Database();
$mysqli->connect();
$mysqli->query("SET character_set_results=utf8");
$sql = ($language == 'ch') ? 'SELECT id,title,text,date,author FROM article_chinese WHERE id=?': 'SELECT id,title,text,date,author FROM article_english WHERE id=?';
if ($stmt = $mysqli->prepare("$sql")) {
$stmt->bind_param("i", $id);
/* execute query */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($id,$title,$text,$date,$author);
/* fetch value */
$stmt->fetch();
$results = array($id,$title,$text,$date,$author);
$stmt->close();
$mysqli->close();
return $results;
/* close statement */
}
}
有问题的功能在上面。脚本崩溃尝试绑定结果。它只能从DB获得一行!这确实会造成非常严重的错误。任何关于这点的信息都会受到极大的关注。 – Ageis 2011-03-14 22:53:00
我现在通过在绑定之前存储结果来解决此问题。有没有关于mysqli在这里失踪的基本知识?存储结果如此重要以至于分配的内存更少? – Ageis 2011-03-14 23:21:21