Я не могу понять, почему xampp дает мне ошибку
Ошибка анализа: синтаксическая ошибка, неожиданный '' (T_ENCAPSED_AND_WHITESPACE), ожидающий идентификатор (T_STRING) или переменная (T_VARIABLE) или номер (T_NUM_STRING) в C:\xampp\htdocs\Permanent\edstul.php в строке 31
Строка 31 такова:
if($_POST){
//update the record if the form was submitted
$sql="UPDATE users SET pass='$_POST['pass']',fname='$_POST['fname']',lname='$_POST['lname']',mi='$_POST['mi']',age='$_POST['age']',course='$_POST['course']',yearlevel='$_POST['yearlevel']'
WHERE id=" . mysql_real_escape_string($_POST['id']);
if(mysql_query($sql)){
//this will be displayed when the query was successful
echo "<div>Record was edited.</div>";
}else{
die("SQL: " . $sql . " >> ERROR: " . mysql_error());
}
}
Я не могу понять это. Мне очень нравится объявлять sql-синтаксис, потому что у него нет отладки.
У вас есть некоторые ошибки конкатенации PHP, попробуйте с этим:
$sql="UPDATE users SET pass='". $_POST['pass'] . "',
fname='" . $_POST['fname'] . "',
lname='" . $_POST['lname'] . "',
mi='" . $_POST['mi'] . "',
age='" . $_POST['age'] . "',
course='" . $_POST['course'] . "',
yearlevel='" . $_POST['yearlevel'] . "'
WHERE id=" . mysql_real_escape_string($_POST['id']);
mysql_* API. use
mysqli_ * `или pdo. А также используйте подготовленное заявление. Это безопаснее и намного удобочитаемее.$_POST['pass']
=>$_POST[pass]