2013-04-15 3 views
1

Привет Я использую html и PHP для обновления переменной в таблице базы данных, я убедился, что форма html работает правильно и использовала эхо, чтобы убедиться, что скрипт работает. Он не дает мне никаких признаков ошибки, но не обновляет таблицу. Чтобы прояснить, что мой html-код работает нормально, поскольку функция работает, и все правильные эхо-сигналы выходят. Вот код, который, я надеюсь, кто-то может просветить меня о том, где я ошибаюсь. Спасибо!Невозможно получить функцию обновления PHP для работы

<?php 
session_start(); 
$healthyPig = 50; 
$userNamer = $_SESSION['rememberMe']; 
echo $userNamer; 
$connect=(mysql_connect("localhost","lpwd10","lpwd10","lpwd10_proj")); 
if (mysql_error()) 
    { 
    echo "Failed to connect"; 
    } 
echo "connected SON"; 
mysql_query($connect,"UPDATE user SET 'pigHealth' = $healthyPig WHERE userName='$userNamer'"); 
header('Location: pigManager.php'); 
echo "Complete"; 
mysql_close($con); 



?> 
+0

Постарайся 'mysql_query (...) или умереть (mysql_error());' увидеть выходные ошибки. – showdev

+0

Ваш SET «pigHealth» = неверен, по крайней мере. опустить одинарные кавычки или использовать обратные ссылки. Я бы предложил просто изменить его на SET pigHealth = $ healthyPig ... – gview

+1

Имеет ли пользователь правильное имя пользователя в таблице? И, возможно, вам нужно выбрать правильную базу данных с помощью 'mysql_select_db()'? –

ответ

2

Значение должно быть в кавычках, а не имя столбца

"UPDATE user SET pigHealth = '$healthyPig' WHERE userName='$userNamer'"

+0

Привет, я исправил свой синтаксис, и он все еще не работает. Имя пользователя взято из переменной сеанса и с использованием эхо-сигналов я убедился, что он передан в скрипт. На данный момент я не беспокоюсь о SQL-инъекции, это будет то, что будет рассмотрено позже. –

+0

@LewisDunn Что такое сообщение об ошибке, попробуйте поймать его. – zavg

0

Я думаю, вы получаете mysql_ и mysqli_ расширения перепутались.

Использование mysql_ расширения вашего query() заявление неправильно

mysql_query($connect,"UPDATE user SET 'pigHealth' = $healthyPig WHERE userName='$userNamer'"); 

Должно быть

mysql_query("UPDATE user SET 'pigHealth' = $healthyPig WHERE userName='$userNamer'", $connect); 

НО вы не должны использовать расширение mysql_ больше, его устаревшим в течение многих лет и был полностью удален из PHP7, поэтому любой написанный вами код не будет работать на PHP7.

Специально, если вы просто изучаете PHP, потратьте свои силы на изучение расширений базы данных PDO. Start here

Смежные вопросы