Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, estou comecando usar o memcache agora e estou com dificuldades, fiz um exemplos igualzinho o que achei na internet e nao funcionou.
ele mostras esse erros:
Warning: mysqli_fetch_row() [function.mysqli-fetch-row]: Couldn't fetch mysqli_result in
Warning: mysqli_fetch_assoc() [function.mysqli-fetch-assoc]: Couldn't fetch mysqli_result in
Segue o codigo, se alguem puder me ajudar, fico agradecido ;)
$mem = new Memcache;
// Define qual o servidor que se está usando $mem->addServer('localhost');
$mem->connect('localhost') or die ("Could not connect"); $sqlIn = "SELECT no_id, no_titulo, no_intro, no_imagem, DATE_FORMAT(no_data, '%d/%m/%Y')FROM site_noticia "; $queryIn = $DB->query($sqlIn);
$key = md5($sqlIn);
$get_result = $mem->get($key);
if ($get_result) {
while( list( $no_id, $no_titulo, $no_intro, $no_imagem, $no_data ) = $DB->fetchRow($get_result)){
echo $no_id."<br>test";
}
while ($dados = mysqli_fetch_assoc($get_result)) {
echo $dados."<br>oi";
}
} else {
$query = $DB->query($sqlIn);
$mem->set($key, $query);
$get_result = $mem->get($key);
while( list( $no_id, $no_titulo, $no_intro, $no_imagem, $no_data ) = $DB->fetchRow($query)){
conteudo;
}
}
ERROS:
Warning: mysqli_fetch_row() [function.mysqli-fetch-row]: Couldn't fetch mysqli_result in
Warning: mysqli_fetch_assoc() [function.mysqli-fetch-assoc]: Couldn't fetch mysqli_result in
Na realidade se eu usar o query normal fazendo a consulta no sql funciona, o que acontece que ele nao esta passando o o valor da query salva no cache.
Fiz exatamente como no exemplo aqui:
http://blog.thiagobelem.net/otimizando-consultas-mysql-com-o-memcached/
$mem->addServer($_SERVER['HTTP_HOST']); //ja tento usa como la no exemplo.
d aum var_dump($get_result); ve oque ta rolando..
você ta pegando $men->get($key).. certo
mais cade o $mem->set($chave, $query, 0, $tempo); ????
como vai pega algo que você não seto ...
} else {
$query = $DB->query($sqlIn);
**$mem->set($key, $query);** eu setei aqui, só que deixei o tempo padrão.
$get_result = $mem->get($key); // aqui foi um teste que estava fazendo
while( list( $no_id, $no_titulo, $no_intro, $no_imagem, $no_data ) = $DB->fetchRow($query)){
}a ta hum .. fui testa aki so q num tenho esse menCache..
ele num é nativo do php não?
cuidado com esse recursos que não são nativos se seu host num tive ele e nem pode instala.. seu trabalho vai por
agua abaixo..
seu codigo parece ta certo.. =X
seu erro nao e no mencache e sim na SQL que você ta executando =D