last day (15 days later) » 

2:29 PM
2
A: Integrity constraint violation: 1048 Column 'nome' cannot be null

Jorge B.O erro quer dizer que está a passar o valor para a coluna nome a null e tem esse campo definido na tabela como NOT NULL. Veja se a variável $titulo está preenchida. $create->bindValue(':nome', $titulo, PDO::PARAM_STR); É sempre bom fazer a verificação se as variáveis estão preenchidas antes...

 
O valor não está sendo passado para as variáveis, não entendo o motivo. O que pode estar havendo?
 
Vê a minha edição da pergunta.
 
Agora está retornando o erro SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
 
@user21746 Tens bindValue(':titulo',... e depois na query tens VALUES (:nome é esse o problema, têm de ser iguais.
 
Deixei como "nome" em tudo, agora o erro é Erro ao Cadastrar Registro! - SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'codigo' cannot be null
 
2:29 PM
@user21746 Vê a variável código a ver se está preenchida. Essa já devias saber ver sozinho, foi o motivo da pergunta.
 
2:44 PM
opa, é que eu não mexo com programação a anos, dai tô perdido pra caramba!
 
é simples
os nomes que tens aqui
VALUES (:nome, :arquivo, :codigo, :codcontrol, :tipo, :material, :denominacao)
tem de ser iguais aos
daqui $create->bindValue(':nome' ....
 
e os daqui $_POST['titulo'];
têm de ser iguais aos
daqui <input type="text" name="titulo" ...
 
@user21746 percebeste?
 
sim, os nomes são os mesmos
eu conferi
inclusive copiei e colei de um pro outro pra garantir que não tinha nada escrito diferente
 
Ah pronto
Quanto a aquele erro. Onde é que vais buscar o código?
Ali diz que ele está a null
 
2:56 PM
o código é digitado no input que supre a variável e deveria jogar pro banco de dados, não tenho certeza, mas acho que não está é enviando pro banco de dados mesmo com a variável suprida.
 
não percebi nada
 
eu tbm não encontrei nenhum erro aparente, por isso tô confuso.
 
não percebi nada do que disseste
"Column 'codigo' cannot be null"
quer dizer que a coluna codigo não pode ser nula
tem de ter um valor
e não estás a passar esse valor em lado nenhum
Aqui
 
sim, e eu não entendi até agora o porque de isso estar acontecendo, revisei o código diversas vezes e não encontrei o erro
 
$create->bindValue(':codigo', $codigo, PDO::PARAM_STR);
de onde vem a variavel $codigo
 
3:04 PM
                                <div class="control-group">
                                    <label class="control-label" for="titulo">Código:</label>
                                    <div class="controls">
                                        <div class="span12">
                                            <input type="text" name="codigo" id="codigo" class="input-xlarge" />
                                        </div>
                                    </div>
                                </div>
daqui
 
e o $_POST para ir buscar como fizeste com o titulo/nome?
$codigo = $_POST['codigo'];
 
vish, encontrei o erro!
 
tens de fazer isso para todos os campos
 
era isso mesmo
dei mole
me tira outra dúvida? eu criei uma coluna no banco de dados de usuário para definir nivel de acesso, com valores de 1 ao 5, como eu faria para limitar as páginas para cada nivel de acesso?
 
tens de utilizar a sessão para incluir esse nivel e verificar ao carregar as páginas
 
3:07 PM
vc poderia me dar um exemplo? é que realmente faz muito tempo que não mexo com programação, só estou mexendo agora por necessidade
 
3:21 PM
if($_SESSION['nivel_de_acesso'] == 1) { //mostra a pagina} else {//mostra outra}
ao fazeres login tens de guardar a variavel de sessão...
O melhor se calhar era fazer uma leitura de alguns tutorias em PHP para relembrar
não te esqueças de marcar a resposta como certa.
 
Pode deixar! Irei fazer isso agora!
Muito obrigado, amigo!
Se não for muito encomodo, você conseguiria me ajudar com outro problema?
incomodo*
 
diz
qual a dúvida @user21746?
 
Estou fazendo um botão de aprovar e reprovar desenhos inseridos no site e o erro que está retornando é o seguinte:
Erro ao Alterar Registro! - SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tbl_desenho WHERE id = '1'' at line 1
o script é
<?php require("header.php");?>
<!--page specific css styles-->
<link rel="stylesheet" href="assets/data-tables/DT_bootstrap.css" />
<script type="text/ecmascript">
function aprovar(id){

var conf = confirm("Tem certeza que deseja aprovar esse desenho?");
if(conf == true)
{
$.post("sql/excluir.php?acao=aprovar",{id: id}, function(pegar_dados){
$(".retorno").fadeIn("slow").html(pegar_dados);
});
}



}
function reprovar(id){

var conf = confirm("Tem certeza que deseja reprovar esse desenho?");
if(conf == true)
ou seja, caso clique em aprovar, o valor tem que ser 1, caso clique em reprovar, o valor deve ser alterado para 3
 
3:40 PM
as querys sql?
 
if($acao == "aprovar")
{

if(isset($_POST['id']))
{
$id = $_POST['id'];

$sql = 'UPDATE aprovado SET valor="1" FROM tbl_desenho WHERE id = :id';

try{

$create = $db->prepare($sql);
$create->bindValue(':id', $id, PDO::PARAM_INT);

if($create->execute() ){
echo '<script type="text/javascript" >
alert( "Registro Excluido com Sucesso!"); location.href="gerenciar_usr.php";
</script>';

}


} catch (PDOException $e) {
echo "Erro ao Alterar Registro! - " . $e->getMessage();
}

}
}
if($acao == "reprovar")
 
Convém mesmo reveres a programação senão nunca mais acabas isso
O update não é assim a sintaxe
 
sim, eu irei voltar aos estudos essa semana ainda.
Qual seria?
 
UPDATE nome_da_tabela SET nome_do_campo_a_alterar='valor_desse_campo' WHERE id=o_id_a_ser_alterado
 
opa, valeu! muito obrigado, amigo. E desculpe o incomodo!
 
3:46 PM
de nada
convém é estudar mesmo... senão vais ter sempre dúvidas
 
Sim, voltarei a estudar essa semana, é que faz 6 anos que não programo, estava mexendo com administração, porém me ocorreu essa necessidade de voltar a programar.
 
@user21746 não se esqueça de marcar a resposta como certa
 
pode deixar
 
e depois fica a vontade para fazer mais perguntas no site
faz pesquisa primeiro que pode já existir o que procuras
faz no google que normalmente reencaminha para o SOpt
 
tudo bem, agradeço muito sua ajuda!
 
3:50 PM
grande abraço
de nada :)
 

last day (15 days later) »