Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, amigos, é o seguinte: Tenho um sistema de hospedagem de imagens, onde os usuários cadastrados podem alterar seus dados. Quando o usuário clica pra alterar os dados, ele altera mas retorna esse erro.
Isso começou a acontecer depois q migrei de servidor :(
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 '(First_Name = 'Willian', Last_Name = 'Cima', Email_Address = 'contato@link' at line 1
(fiz o teste utilizando minha conta)
Segue o script do editprofile.php:
<?php
include"config.php";
$qData = "select * from `users` where (`Uid` = '".$_SESSION["Uid"]."')";
$rData = mysql_query($qData) or die(mysql_error());
$aData = mysql_fetch_array($rData);
$Username = $_POST[Username];
$Password = $_POST[Password];
$First_Name = $_POST[First_Name];
$Last_Name = $_POST[Last_Name];
$Email_Address = $_POST[Email_Address];
$Country = $_POST[Country];
$Status = $_POST[Status];
$t = time();
$q1 = "update `users` set (`First_Name` = '".$First_Name."', `Last_Name` = '".$Last_Name."', `Email_Address` = '".$Email_Address."', `Country` = '".$Country."') where (`Uid` = '".$_SESSION["Uid"]."')";
mysql_query($q1) or die(mysql_error());
header("location: myimages.php");
?>
O que ocorre?Ok, agora ele redireciona pra myimages.php, normalmente, mas não altera os dados no BD :(
echo $ql; exit();
mysql_query($q1) or die(mysql_error());
verifique se o SESSION contém valor.
O estranho é q quando retiro o header("location: myimages.php");, grava normalmente. O que será?
Coloque um session_start(); no começo do seu código.
e também faça desta maneira
UPDATE `users` SET First_Name = '$First_Name', Last_Name = '$Last_Name', Email_Address = '$Email_Address', Country = '$Country' WHERE Uid = '".$_SESSION["Uid"]."'";
retire os parenteses:
$q1 = "UPDATE
usersSETFirst_Name= '".$First_Name."',Last_Name= '".$Last_Name."',Email_Address= '".$Email_Address."',Country= '".$Country."'WHERE
Uid= '".$_SESSION["Uid"]."'";se Uid for um INT, retire as aspas do valor dele tb.