2014-12-12 3 views
0

Если строка для конкретного пользователя, относящаяся к определенному продукту в таблице с именем «user_star_rate», равна null, я хочу вставить данные в таблицу, и в противном случае я хочу обновить таблицу. Но функция обновления не работает.Как обновить таблицу с помощью SQL в PHP-коде?

$jsqla7 = mysql_query("select * from user_star_rate where product_id='$product_id' and email='$visit_email'") or die(mysql_error()); 
$jfeta7 = mysql_fetch_assoc($jsqla7); 

if($jfeta7 != null) { 
    $rate = "UPDATE user_star_rate SET rate_value='$rate_value' WHERE product_id='$product_id' and email='$visit_email'" ; 
} else { 
    $rate = "INSERT INTO user_star_rate (email, product_id, rate_value) VALUES ('$visit_email','$product_id','$rate_value')" ; 
} 
+0

функции mysql_ * устарели. Вы должны использовать mysqli_ * или PDO. Вы также должны использовать подготовленные инструкции для предотвращения внедрения sql. – Jens

+2

Посмотрите на 'REPLACE INTO' – AlienWebguy

+1

попробуйте' mysql_num_rows ($ result)! = 0' вместо '$ jfeta7! = Null' – Jens

ответ

1

Изменить

$jfeta7 = mysql_fetch_assoc($jsqla7); 
if($jfeta7 != null) { 

к

$jfeta7 = mysql_num_rows($jsqla7); 
if($jfeta7 > 0) { 

Примечание: mysql_ функции устарели и не использовать его. Они будут удалены в будущих версиях PHP.

1
if(mysql_num_rows($jsqla7)==0) 
{ 

//INSERT 
} 
else 
{ 
//UPDATE 
} 
Смежные вопросы