Следующий код является частью моей системы уведомлений ajax и по какой-то причине работает только на 50%. Когда я вызываю код, он запускается, а затем echo либо success
, либо remove
, но, похоже, он не изменяет значения базы данных. Любая причина? Я попытался помещать имена столбцов в кавычки, но это эхо-ошибка. Пожалуйста, помогите, спасибо!Обновление PHP не будет правильно обновлять базу данных
<?php
require_once('.conf.php');
$notid = mysql_real_escape_string($_GET['notification_id']);
$username = mysql_real_escape_string($_SESSION['uname']);
$action = mysql_real_escape_string($_GET['action']);
if ($action == 'add') {
$insert = mysql_query("UPDATE updates SET object_fav = '1' WHERE username = '$username' AND id = '$notid'") or die('Could not connect: ' . mysql_error());
echo 'success';
} elseif($action == 'sub') {
$remove = mysql_query("UPDATE updates SET object_fav = '0' WHERE username = '$username' AND id = '$notid'") or die('Could not connect: ' . mysql_error());
echo 'remove';
} else {
echo 'error';
}
?>
Я знаю, что это не JavaScript, я проверил вкладку сети и отправляет правильные значения.
Ну, ваши вызовы 'die()' были бы запущены, если запрос был выведен из строя. 'echo mysql_affected_rows();' вместе с 'success/remove'. Скорее всего, вы просто не подходите ни к каким строкам, потому что '$ username' или' $ notid' не содержит того, что вы ожидаете от него –
@michael Yeah выше выше в php –
Хмм, получается, что я загрузил неправильную версию из которого не было 'session_start()'. Глупый я ... Вы были правы michael –