Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
<?php
include("config/conexao.php");
$matricula=$_POST["matricula"];
$matri =$_POST["matri"];
$curso =$_POST["curso2"];
$nome =$_POST["nome"];
$snome =$_POST["snome"];
$estado =$_POST["estado"];
$atualizar= mysql_query("UPDATE Aluno SET Matricula='$matri', Cod_Curso='$curso',Nome='$nome', Sobrenome='$snome',Status='$estado'WHERE Matricula='$matricula'")or die(mysql_error());
if ($atualizar) {
echo "SUCESSOOO <br>";
} else {
echo "ERRO <br>";
}
?>http://blog.thiagobelem.net/guia-pratico-de-mysqli-no-php
Qual é sua versão php?
mysql_query é deprecated dependendo da sua versão do PHP.
Libere a exibição dos erros na sua página e você saberá o que está acontecendo.
Coloque isso acima de tudo:
ini_set( "display_errors", true );
error_reporting( E_ALL );PHP 7 não aceita mysql_query use mysqli ou pdo
mysql_query não funciona no PHP 7 use mysqli ou PDO
>
mysql_query é deprecated dependendo da sua versão do PHP.
Libere a exibição dos erros na sua página e você saberá o que está acontecendo.
Coloque isso acima de tudo:
ini_set( "display_errors", true );
error_reporting( E_ALL );
Ola,
Mostra esse erro:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/sistemacantina/SistemaAdm/config/conexao.php on line 2
Notice: Undefined index: matricula in /var/www/html/sistemacantina/SistemaAdm/editar.php on line 8
Fatal error: Call to undefined function mysqli() in /var/www/html/sistemacantina/SistemaAdm/editar.php on line 28
<?php
include("config/conexao.php");
$matricula=$_POST["matricula"];
$matri =$_POST["matri"];
$curso =$_POST["curso2"];
$nome =$_POST["nome"];
$snome =$_POST["snome"];
$estado =$_POST["estado"];
$atualizar = $mysqli->prepare("UPDATE Aluno SET Matricula=?, Cod_Curso=?,Nome=?, Sobrenome=?,Status=? WHERE Matricula=?");
$atualizar->bind_param('iisssi',
$matri,
$curso,
$nome,
$snome,
$estado,
$matricula,
);
$atualizar->execute();
printf("Error: %s.\n", $atualizar->error);
$atualizar->close();
$mysqli->close();
?>
substitui a conexao php
<?php
$usuario = 'nomeusuario'; // variavel que guarda o valor usuario para acesso do BD
$senha ='senha'; // variavel que guarda o valor senha para o usuario do BD
$dsn = "localhost"; // variavel que guarda o valor prefixo dns e as informa��es referentes ao host e o nome do banco de dados
$database = "nomedoBD";
$mysqli = new mysqli($dsn,$usuario,$senha,$database);
?>>
<?php
include("config/conexao.php");
$matricula=$_POST["matricula"];
$matri =$_POST["matri"];
$curso =$_POST["curso2"];
$nome =$_POST["nome"];
$snome =$_POST["snome"];
$estado =$_POST["estado"];
$atualizar = $mysqli->prepare("UPDATE Aluno SET Matricula=?, Cod_Curso=?,Nome=?, Sobrenome=?,Status=? WHERE Matricula=?");
$atualizar->bind_param('iisssi',
$matri,
$curso,
$nome,
$snome,
$estado,
$matricula,
);
$atualizar->execute();
printf("Error: %s.\n", $atualizar->error);
$atualizar->close();
$mysqli->close();
?>
substitui a conexao php
<?php
$usuario = 'nomeusuario'; // variavel que guarda o valor usuario para acesso do BD
$senha ='senha'; // variavel que guarda o valor senha para o usuario do BD
$dsn = "localhost"; // variavel que guarda o valor prefixo dns e as informa��es referentes ao host e o nome do banco de dados
$database = "nomedoBD";
$mysqli = new mysqli($dsn,$usuario,$senha,$database);
?>
Não funcionou :(
Não funcionou :(
Olá!
Poste aqui os erros exibidos com o código atual, por favor.
Ola,
Obrigada pela ajuda gente!
<?php
$editar = mysqli_query($connect, "UPDATE 'Aluno' SET Cod_Curso='$curso',Nome='$nome', Sobrenome='$snome', Status='$estado' WHERE 'Matricula'='$matri'");
if (mysqli_affected_rows($editar) > 0) {
echo "Sucesso: Atualizado! <br>";
} else {
echo "Aviso: Não foi possivel atualizar <br>";
}
Mostra como erro :
warning mysqli_affected_rows() expects parameter 1 to be mysqli boolean given in
Aviso: Não foi possivel atualizar
Aluno é uma tabela e não uma string. Tira os ''. Se não resolver, faz um echo da query e testa directamente no MySQL.
Nathalia como esta sua tabela no Banco de Dados?
$editar = mysqli_query($connect, "UPDATE Aluno SET Cod_Curso='$curso',Nome='$nome', Sobrenome='$snome', Status='$estado' WHERE Matricula='$matri'");
tenta isso
CREATE TABLE IF NOT EXISTS `Aluno` (
`Matricula` int(11) NOT NULL,
`Nome` varchar(50) NOT NULL,
`Sobrenome` varchar(50) NOT NULL,
`Status` varchar(30),
`Cod_Curso` int(11) NOT NULL,
PRIMARY KEY (`Matricula`),
KEY `Curso` (`Cod_Curso`)
)
Agora mostra esse erro:
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 '[2],Nome=[Ana Maria],Sobrenome=[silva],Status=[A] WHERE Matricula=[12]' at line 1
Para que são os [] em volta dos nomes dos campos?
Experimentaste fazer o echo?
>
Para que são os [] em volta dos nomes dos campos?
Experimentaste fazer o echo?
Sim, o echo retorna certinho os valores para a atualização, mas por algum motivo não salva no banco.
Fazer um update não tem segredo, basta dar uma estudada e compreender a sintaxe que você consegue. Os dados estão sendo passados em formatos incorretos.
Veja esse vídeo e veja se te ajuda:
Encontramos o erro: Faltou o ". ." nos campos de texto
$editar = mysqli_query($connect, "UPDATE Aluno SET Cod_Curso=' ".$curso." ',Nome=' ".$nome." ', Sobrenome=' ".$snome." ', Status=' ".$estado." ' WHERE Matricula='$matri'");
http://php.net/manual/pt_BR/mysqli.query.php