Ben php ile bu bir hata alıyorum. Mysql_query geçmek için bu dizeyi biçimlendirmek için doğru yolu php () nedir?
SELECT count(*) FROM agents INTO @AgentCount;
SELECT user_agent_parsed, user_agent_original, COUNT( user_agent_parsed ) AS thecount,
COUNT( * ) / ( @AgentCount) AS percentage
FROM agents
GROUP BY user_agent_parsed
ORDER BY thecount DESC LIMIT 50;
Php, burada ben $ sorgu kurmak nasıl
$query = "
SELECT count(*) FROM agents INTO @AgentCount;
SELECT user_agent_parsed, user_agent_original, COUNT( user_agent_parsed ) AS thecount,
COUNT( * ) / ( @AgentCount) AS percentage
FROM agents
GROUP BY user_agent_parsed
ORDER BY thecount DESC LIMIT 50";
Ben bir komut satırı oturumu aracılığıyla MySQL içine doğrudan koyarsanız o tam sorgu iyi çalışır. Ben mysql_query iki ayrı php aramaları () vermek ve ilk sonucu saklamak gerekir mi?
Ben aşağıda hata alıyorum:
Eğer SQL sözdizimi bir hata var; 3. satırda 'thecount AS SEÇİN user_agent_parsed, user_agent_original, COUNT (user_agent_parsed) yakınındaki kullanılacak doğru sözdizimi için MySQL sunucu sürümü karşılık kılavuzunu kontrol
Seçeneğini bir alt kullanarak ve yerine MySQL değişkeni seçmek için değil sebebi, her yüzdelik hesaplaması oluyor sayımını () kaçınmaktır. Mümkün olabilir ama motoru için optimize edilmiştir. Şimdiye kadar, bunu teyit etmek mümkün olmamıştır. Ben de alt seçtiği hemen hemen her zaman sigara optimal duydum.
Bana bunu söyler İZAH:
id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY agents index NULL user_agent_parsed 28 NULL 82900 Using temporary; Using filesort 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away