Я работаю над проектом Flex / Php.Я написал этот php-скрипт, чтобы, если артиста еще не было в базе данных, я вставил его и установил значение like_score в 1. Если он уже существует, мы обновим like_score, добавив +1.Это то, что у меня есть:
// Variables
$php_artist = $_POST["rma_artist"];
/*
* A simple query to know if the artist exists in the DB by its name. We can't use id since we won't get that value.
* if $numrows > 0, we have a match. We calculate the number of likes and then, we update.
* else, we insert.
*/
$query = "SELECT like_score FROM rma_likelist WHERE like_artist = '$php_artist'";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$numrows = mysql_num_rows($result);
// UPDATE if there is a row that matches, we update
if ($numrows > 0) {
$newLikeScore = $row["like_score"] + 1;
$query = "UPDATE rma_likelist SET like_score = '$newLikeScore' like_artist = $php_artist";
if ( !mysql_query($query, $mysql_connection) ){
die('ERROR: '. mysql_error() );
}
// id, name, likes, operation
$response = $php_artist_id.":::".$php_artist.":::".$newLikeScore.":::MYSQL UPDATE SUCCESSFULL";
}
// INSERT if no rows match, we insert a new record
else {
$query = "INSERT INTO rma_likelist (like_artist, like_score) VALUES ('$php_artist', '1')";
$message = "INSERT SUCCESSFULL, 1 Record Added";
if ( !mysql_query($query, $mysql_connection) ){
die('ERROR: '. mysql_error() );
}
$new_id = mysql_insert_id();
// id, name, likes, operation
$response = $new_id.":::".$php_artist.":::1:::MYSQL INSERT SUCCESSFULL";
}
echo $response;
?>
(или см. Pastebin: http://pastebin.com/HwHYXaGP)
Это почти работает: если артиста еще нет в базе данных, он вставит егои присваивает ему значение like_score, равное 1. Он также распознает, есть ли исполнитель в базе данных, потому что он не будет дублировать исполнителей, однако никогда не обновит like_score группы, которая уже находится в базе, он всегда остается равным 1Почему это происходит? Я искал долгое время = /