2014-10-13 7 views
-2
mysql_query("UPDATE users SET `test` = '$unicornID' where id='$_SESSION[user_id]' ") 
or die(mysql_error()); 

Теперь, когда пользователь нажимает кнопку «добавить в favorite' кнопка эта строка кода обновляет свою базу данных, но также удаляет все старые данные из столбца test. Какая команда должна так, чтобы старые данные не удалялись?Обновление PHP базы данных

ответ

0

Я думаю, что вы, возможно, ищете, является запросом sql "INSERT".

Это было бы что-то вроде этого;

"INSERT * INTO users WHERE test='$unicornID' and id='$_SESION['user_id']'"; 

Сообщите мне, как это. Приветствия.

0

Другой совет. Использование PDO с подготовленными операторами:

$pdo = new PDO(sprintf('mysql:host=%s;dbname=%s', HOST, DATABASE), USER, PASSWORD); 

И вставить что-то: команды

$params = array(':unicornID' => $unicornID, ':id' => $_SESSION['user_id']); 
$stmt = $pdo->prepare("INSERT * INTO users WHERE test=:unicornID and id=:id"); 
$stmt->execute($params); 

старого MySQL (_query) старые и очень уязвимы, PDO не так уязвим. Преимущество подготовленных операторов в основном состоит в том, что вы не можете вводить через переменные некоторый код sql.

Надеюсь, вы поняли мой и мой код

0

«Обновление» означает, что старая строка данных изменяется; если вы хотите сохранить его, вам нужно вставить новый. В этом случае я думаю, что вы должны скопировать строку (что может быть сделано с помощью «insert ... select ...»), а затем обновить вновь вставленную строку.

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