2016-01-18 3 views
0

Я сталкиваюсь с этой ошибкой всякий раз, когда пытаюсь получить переменную с другой страницы.Erro: Query was empty

Ошибка:

Warning: sprintf(): Too few arguments in /srv/users/distacacessorios/apps/distacacessorios/public/relatorio/busca.php on line 69 Query was empty

index.php

<!DOCTYPE html> 
<html lang="pt-br"> 
<head> 
    <meta charset="utf-8"/> 
    <title>Busca de produtos</title> 
</head> 
<body> 
    <h1>Selecione a sua lista</h1> 
    <form action="busca.php" method="post"> 
     <input type="text" name="palavra" /> 
     <select name="categoria"> 
      <option value="ferramentas">Ferramentas</option> 
      <option value="acessorios">Acessórios</option> 
      <option value="todos">Todos</option> 
     </select> 
     <input type="submit" Value="Buscar" /> 
    </form> 
</body> 
</html> 

buscaproduto.php

<?php 
// definições de host, database, usuário e senha 
$host = "localhost"; 
$db = "xxx"; 
$user = "xxx"; 
$pass = "xxx"; 

$busca = $_POST['palavra']; 
echo $busca; 
$con = mysql_pconnect($host, $user, $pass); 
mysql_select_db($db, $con); 
$query = sprintf("SELECT 
    p.id as ID, 
    sk.meta_value AS SKU, 
    p.post_title AS PRODUTO, 
    pc.meta_value AS PRECO, 
    ap.meta_value AS APLICACAO, 
    fb.meta_value AS FABRICANTE, 
    ct.name AS CATEGORIA, 
    im2.meta_value AS IMAGEM 
FROM wp_posts p 

INNER JOIN wp_postmeta pr ON (
    p.ID = pr.post_id AND 
    p.post_type = 'product' AND 
    p.post_title like '%".$busca."%' 
) 
INNER JOIN wp_postmeta es ON (
    p.ID = es.post_id AND 
    es.meta_key = '_stock' 
) 
INNER JOIN wp_postmeta sk ON (
    p.ID = sk.post_id AND 
    sk.meta_key = '_sku' 
) 
INNER JOIN wp_postmeta pc ON (
    p.ID = pc.post_id AND 
    pc.meta_key = '_price' 
) 
INNER JOIN wp_postmeta ap ON (
    p.ID = ap.post_id AND 
    ap.meta_key = 'aplicacao' 
) 
INNER JOIN wp_postmeta fb ON (
    p.ID = fb.post_id AND 
    fb.meta_key = 'fabricante' 
) 
LEFT JOIN wp_postmeta im1 ON (
    im1.post_id = p.id AND 
    im1.meta_value IS NOT NULL AND 
    im1.meta_key = '_thumbnail_id'    
) 
LEFT JOIN wp_postmeta im2 ON (
    im1.meta_value = im2.post_id AND 
    im2.meta_key = '_wp_attached_file' AND 
    im2.meta_value IS NOT NULL 
) 
INNER JOIN wp_term_relationships rl1 ON (
    p.ID = rl1.object_id 
) 
INNER JOIN wp_term_taxonomy rl2 ON (
    rl1.term_taxonomy_id = rl2.term_taxonomy_id 
) 
INNER JOIN wp_terms ct ON (
    rl2.term_id = ct.term_id AND 
    ct.term_id = 795 OR 
    ct.term_id = 846 
) 
GROUP BY p.ID"); 
$dados = mysql_query($query, $con) or die(mysql_error()); 
$linha = mysql_fetch_assoc($dados); 
$total = mysql_num_rows($dados); 
?> 

<html> 
     <head> 
     <title>Relatórios</title> 
     <style> 
       table tr:nth-child(even) { 
         background-color: #eee; 
       } 
       table tr:nth-child(odd) { 
         background-color: #fff; 
       } 
       table th { 
         color: white; 
         border: 1px solid black; 
         background-color: black; 
       } 
       img { 
         height: 100px; 
         width: 100px; 
         margin: 5px; 
       } 
     </style> 
<body> 
     <div id="content_area_div"> 
       <h1>PRODUTOS</h1> 
       <table style="width:100%; text-align:center;"> 
         <tr> 
           <th>ID</th> 
           <th>SKU</th> 
           <th>PRODUTO</th> 
           <th>PREÇO</th> 
           <th>APLICAÇÃO</th> 
           <th>FABRICANTE</th> 
           <th>CATEGORIA</th> 
           <th>IMAGEM</th> 
         </tr> 
     <?php 
       if($total > 0) 
       { 
         do 
         { 
     ?> 
         <tr> 
           <td><?=$linha['ID']?></td> 
           <td><?=$linha['SKU']?></td> 
           <td><?=$linha['PRODUTO']?></td> 
           <td><?=$linha['PRECO']?></td> 
           <td><?=$linha['APLICACAO']?></td> 
           <td><?=$linha['FABRICANTE']?></td> 
           <td><?=$linha['CATEGORIA']?></td> 
           <td><img src="http://www.distacacessorios.com.br/wp-content/uploads/<?=$linha['IMAGEM']?>/"></td> 
         </tr> 
       <?php 
         } 
         while($linha = mysql_fetch_assoc($dados)); 
       } 
       ?> 
       </table> 
     </div> 
</body> 
</html> 
<?php 
+0

Что такое JavaScript, HTML или CSS для этого? Похоже на вопрос PHP. – j08691

+0

Если вам нужно, есть переполнение стека для португальских пользователей. –

+1

перестать использовать устаревший mysql и начать использовать pdo или mysqli – davejal

ответ

1

Зачем использовать Sprintf() ??

$query = "SELECT 
    p.id as ID, 
    sk.meta_value AS SKU, 
    p.post_title AS PRODUTO, 
    pc.meta_value AS PRECO, 
    ap.meta_value AS APLICACAO, 
    fb.meta_value AS FABRICANTE, 
    ct.name AS CATEGORIA, 
    im2.meta_value AS IMAGEM 
FROM wp_posts p 

INNER JOIN wp_postmeta pr ON (
    p.ID = pr.post_id AND 
    p.post_type = 'product' AND 
    p.post_title like '%".$busca."%' 
) 
INNER JOIN wp_postmeta es ON (
    p.ID = es.post_id AND 
    es.meta_key = '_stock' 
) 
INNER JOIN wp_postmeta sk ON (
    p.ID = sk.post_id AND 
    sk.meta_key = '_sku' 
) 
INNER JOIN wp_postmeta pc ON (
    p.ID = pc.post_id AND 
    pc.meta_key = '_price' 
) 
INNER JOIN wp_postmeta ap ON (
    p.ID = ap.post_id AND 
    ap.meta_key = 'aplicacao' 
) 
INNER JOIN wp_postmeta fb ON (
    p.ID = fb.post_id AND 
    fb.meta_key = 'fabricante' 
) 
LEFT JOIN wp_postmeta im1 ON (
    im1.post_id = p.id AND 
    im1.meta_value IS NOT NULL AND 
    im1.meta_key = '_thumbnail_id'    
) 
LEFT JOIN wp_postmeta im2 ON (
    im1.meta_value = im2.post_id AND 
    im2.meta_key = '_wp_attached_file' AND 
    im2.meta_value IS NOT NULL 
) 
INNER JOIN wp_term_relationships rl1 ON (
    p.ID = rl1.object_id 
) 
INNER JOIN wp_term_taxonomy rl2 ON (
    rl1.term_taxonomy_id = rl2.term_taxonomy_id 
) 
INNER JOIN wp_terms ct ON (
    rl2.term_id = ct.term_id AND 
    ct.term_id = 795 OR 
    ct.term_id = 846 
) 
GROUP BY p.ID"; 
+0

У меня есть код из Интернета. –