
O 1064 é a base de dados a dizer que não percebeu a instrução SQL: está escrita de uma forma que ela não aceita. A mensagem acaba sempre com um recado do género ... right syntax to use near 'FROM pedidos' at line 3. A regra de ouro é esta: o defeito está imediatamente antes do pedaço citado, não nele.
As causas que se repetem
| O que se vê | A causa e a cura |
| Uma coluna chamada order, group, key ou desc | São palavras reservadas do SQL. Ponha o nome entre acentos graves: `order`. Ou mude o nome da coluna. |
| Texto com apóstrofo (O’Brien, d’água) | O apóstrofo fecha a cadeia de texto a meio. A cura não é “escapar” à mão: é usar consultas preparadas (parâmetros), que também fecham a porta à injecção de SQL. |
| Vírgula a mais antes de FROM ou no fim da lista | Uma vírgula depois do último campo. Conte-as. |
| Variável vazia: WHERE id = sem valor | O código montou a consulta com uma variável vazia. Escreva a consulta no registo antes de a executar e veja o que realmente foi enviado. |
| Falha na importação, at line 12874 | O número é a linha do ficheiro. Abra-o no editor e vá a essa linha: é frequente o ficheiro estar cortado a meio (envio interrompido). |
| Funciona noutro servidor, aqui não | Sintaxe de uma versão diferente. Aqui corre MariaDB, não o MySQL da Oracle. Veja MySQL ou MariaDB: qual corre aqui. |
Encontrar a linha, passo a passo
|
|
|
|
|
| Não monte consultas juntando texto de formulários. Além do 1064 que aparece com um apóstrofo, é assim que se abre a porta à injecção de SQL, uma das falhas de segurança mais antigas e mais exploradas. Use parâmetros: um exemplo a funcionar está em ligar ao MySQL a partir do PHP: mysqli e PDO. |
| Uma nota sobre versões. Há instruções que só existem num dos dois motores. Por exemplo, ADD COLUMN IF NOT EXISTS existe no MariaDB e não no MySQL da Oracle. Se uma instrução funciona numa máquina e rebenta noutra, veja primeiro que motor e que versão cada uma corre. |
|
Não encontra a linha? Mande-nos a mensagem completa e, se for uma importação, o número da linha. Abrir um pedido de suporte |
|
VEJA TAMBÉM Ligar ao MySQL a partir do PHP: mysqli e PDO, com um exemplo MySQL ou MariaDB: qual corre aqui e se isso importa Importar com o phpMyAdmin, e o limite de tamanho que o trava |
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 321,75 MT/mês (plano de 3 anos, com cupão) Ver planos |
- 0 Utilizadores acharam útil











