|
![]() |
||
update no mysql via PHP pirou de vez, alguém tem uma dica?
|
||
. Nós temos 759.317 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Zumbi
|
Vejam o exemplo:
Código:
Código:
select * from diskusage where ID=360 e o resultado é o seguinte: Código:
O mais estranho é que se eu crio um script simples com apenas a query ele funciona numa boa, mas quando a query está no meio do meu script principal acontece essa maluquice. Tanto PHP(PHP 4.3.3) quanto MySQL(4.1.9-nt) estão no windows. Alguém tem alguma idéia do que pode estar gerando este resultado maluco? Flw, valeu!
__________________
FMC = Fábio Magalhães Catunda |
|
|
|
|
|
#2 (permalink) |
|
GeeK
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23
![]() |
Eu verificaria se não há alguma variável (ou melhor, todas... :mrgreen: ) obtendo valores de algum lugar depois de fazer a query...
Você falou de um "script simples". O que mais tem no teu script? Hmmm... Tem certeza que está atualizando teu BD??? Idéias, idéias, idééééias... :P
__________________
No caminho dos scripts. Por enquanto, powershell... |
|
|
|
|
|
#3 (permalink) |
|
Zumbi
|
Este insert é a ultima coisa que o script faz, então depois do insert eu coloco o erro e recebo exatamente os valores esperados, mas quando vou ver no BD os valores estão completamente errados.
Não estou entendendo como ele pode me mostrar uma coisa no echo e colocar outra completamente diferente no insert, to ficando maluco já com essa coisa! arghhh Não acredito que as variáveis estejam sendo modificadas pois o valor do echo é correto. O pior é que o valor do ultimo campo é inserido corretamente, mas apenas ele, os outros estão doidos. Já até apaguei o BD e recriei para ver se o problema não era nele, infelizmente não resolveu. Qualquer idéia é bem vinda. Falow!
__________________
FMC = Fábio Magalhães Catunda |
|
|
|
|
|
#4 (permalink) |
|
Super Participante
Registrado em: Jan 2005
Mensagens: 958
Reputação: 16
![]() |
Código:
Código:
ops: |
|
|
|
|
|
#5 (permalink) |
|
GeeK
Registrado em: Aug 2002
Localização: Porto Alegre (RS)
Mensagens: 2.448
Reputação: 23
![]() |
Quais foram os tipos dos campos que tu colocou no banco? Será que não está se perdendo nos valores? Exemplo: se colocou INT e deve ser LONG INT. Não sei o valor máximo, mas dá uma verificada.
__________________
No caminho dos scripts. Por enquanto, powershell... |
|
|
|
|
|
#6 (permalink) |
|
Zumbi
|
profeta_livre, é exatamente isso que difere, a query é passada para o banco pelo mysql_query e na hora que vou ler está completamente diferente do que o mostrado pelo echo.
rwar, cheguei a imaginar que o problema seria nos campos do banco de dados, então chutei o pau da barraca e coloquei bigint em todos os campos numérios e o problema persiste. :-( Será que isso pode ser algum bug específico da versão do PHP? Tenho outro problema que também gera um monte de problemas neste servidor, o comando getcwd() retorna corretamente uma vez ou outra, porém, normalmente ele retorna um valor completamente diferente do esperado, muitas vezes o que ele retorna é c:\winnt\system32\alguma coisa que não lembro\. Este ultimo problema eu não tenho a menor idéia do que pode ser e muito menos de como resolver, já tirei o PHP e instalei novamente sem sucesso. O problema é que quando algum cliente vai tentar usar a função fopen ou criar um arquivo qualquer usando algum comando acaba dando permissão negada já que o caminho não faz parte do path do site dele. Flw, valeu!
__________________
FMC = Fábio Magalhães Catunda |
|
|
|
|
|
#7 (permalink) |
|
Super Participante
|
.. qto a query, ta usando alguma funçao de escape de string pro banco, como mysql_escape_string(), ou entao tenta usar assim
$query = "UPDATE diskusage SET espaco='".$espaco."', servidor='".$servidor."' ..."; tive um problema parecido uma vez(n sei o motivo) e resolveu assim..
__________________
Desktop (Frankenstein )Core2Duo E6300 - 1,83Ghz, @1Gb, 80Gb, GeForce 8400GS - WindowsXP SP3 - Ubuntu 8.10 NoteBook (Dell ) Core2Duo T6500 - 2,1Ghz, @3Gb, 320Gb - Debian 5 - FreeBSD 7.2
|
|
|
|
|
|
#8 (permalink) |
|
Zumbi
|
oitavo_anjo, poderia me dizer que diferença o ponto faz na hora da query?
Flw, valeu!
__________________
FMC = Fábio Magalhães Catunda |
|
|
|
|
|
#9 (permalink) |
|
Super Participante
|
Veja se assim funciona:
Código:
[]s DB! :twisted:
__________________
"Read the directions and directly you will be directed in the right direction." http://www.dmbtecnologia.com.br |
|
|
|
|
|
#10 (permalink) |
|
Zumbi
|
Gente, desculpem pelo post, mas a loucura não é do BD nem do PHP, a doidera é do programador mesmo! :-D
O script roda em loop e em uma ocasião específica a variavel $SQLID não estava sendo renovada, isso fazia com que o valor anterior inserido no DB fosse sobrescrito com o valor do loop atual! :-( Tremenda porcaria, me matei um tempão pra descobrir isso, mas valeu pelas ajudas, serão úteis uma hora ou outra! :-D
__________________
FMC = Fábio Magalhães Catunda |
|
|
|
![]() |
| Opções do Tópico | |
|
|