Mysql «ОБНОВЛЕНИЕ» ничего не делает

0

Это мой код для обновления:

$key = $skills[$ind];
echo "\t\t<td>" . $key . "</td>\n";

//explode using a comma as a delimiter
$data_n = explode(",", $word);
$score[$key]["Rank"] = $data_n[0];
$score[$key]["Level"] = $data_n[1];
$score[$key]["Exp"] = $data_n[2];

echo "\t\t<td>" .$data_n[0] . "</td>\n";
echo "\t\t<td>" .$data_n[1] . "</td>\n";
echo "\t\t<td>" .$data_n[2] . "</td>\n";

$result = mysql_query("UPDATE accounts SET $key ='$data_n[1]' WHERE username = '$user'") 
          or 
          die(mysql_error());

В принципе, есть строка "ключ", которая является именем вещи, которую я пытаюсь обновить, но она просто не обновляется. Я изменил "mysql_query" на "print", и он выводит именно то, что он должен:

UPDATE accounts SET Total ='1144' WHERE username = 'derekboy'

Ошибок нет. распечатка $result показывает, что он "правда", что он отправил сообщение в MySQL. Может ли кто-нибудь увидеть проблему, потому что я искал целый день и все еще ничего.

Весь мой код находится здесь; Благодарю. Вы можете видеть, что я подключаюсь к базе данных в самой верхней части script.

  • 0
    Вы MySQL настройки подключения?
  • 0
    Попробуйте выполнить запрос непосредственно в клиенте MySQL. Это работает там?
Показать ещё 3 комментария
Теги:

2 ответа

1

1) Кажется, вы не подключились к mysql. Ваш код делает mysql_connect и mysql_select_db до этого?

2) Попробуйте запустить запрос в PHPMyAdmin (или любой другой клиент MySQL, который вы используете), чтобы увидеть, есть ли какая-либо ошибка или нет. Правильно ли выполняется запрос?

3) Скорее всего, в вашей таблице нет username со значением derekboy.

  • 0
    Я поместил "ОБНОВЛЕНИЕ учетных записей SET Total = '1144' WHERE username = 'derekboy'" в phpMyAdmin, и он делает именно то, что должен. Это связано с базой данных, хотя. Я редактировал ОП с моим кодом.
0

Я не знаю PHP особенно хорошо, но кажется, что вы окружаете переменные одинарными кавычками, в которых переменные не интерполируются.

Попробуйте что-то вроде:

$result = mysql_query("UPDATE accounts SET " . $key . " ='" . $data_n[1] . "' WHERE username = '". $user" . "'") or die(mysql_error());
  • 0
    MySql не заботится о одинарных кавычках вокруг чисел
  • 0
    Нет, я имею в виду PHP и подстановку переменных для их значений в строку, отправляемую в MySQL.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню