To mój pierwszy post, nie udało mi się znaleźć rozwiązania w internetach.
Mam taki kod:
mysql_query("UPDATE vn_users SET login_points=0 ") OR die(mysql_error()); $rq = mysql_query("SELECT * FROM `tasks_complete` WHERE status='Nie'") OR die(mysql_error()); $broi = mysql_num_rows($rq); IF ($broi == 0) { } else { $query = mysql_query("SELECT * FROM tasks_complete WHERE status='Nie'") OR die(mysql_error()); while($row = mysql_fetch_array($query)) { $id=$row['id']; $idt=$row['id_t']; $q2=mysql_query("SELECT * FROM tasks where id='{$idt}' ")OR die(mysql_error()); $q=mysql_fetch_array($q2); $points=$q['points']; $user_id=$row['id_u']; $q3=mysql_query("SELECT * FROM vn_users where id={$user_id} ")OR die(mysql_error()); $row3= mysql_fetch_array($q3); echo $uid=$row3['id']; IF($row3['rank']>0) { $points=($points)*1.5; $points=(int) $points; } mysql_query("UPDATE vn_users SET points=points+{$points} WHERE id = {$user_id} ") OR die(mysql_error()); mysql_query("UPDATE tasks_complete SET status='Tak' WHERE id={$id} ") OR die(mysql_error()); } echo "xx";
Po odpaleniu go z cronjoba wywala error You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'WHERE id='90''
at line 1
Id 90 to pierwsza linia w tabelce, ktora ma status NIE.
Udało mi się ustalić, ze problem jest przede wszystkim z linia: mysql_query("UPDATE vn_users SET points=points+{$points} WHERE id = {$user_id} ") or die(mysql_error());
gdy zmodyfikowalem ją na UPDATE vn_users SET points=points+100 WHERE id = {$user_id} ") or die(mysql_error()) to wykonalo sie bez problemu.
Cały wic polega na tym,że zalezy mi, aby wartość $points byla przypisywana adekwatnie co wczesniej jest zdefiniowane w innej tabelce.
Jakies pomysly?
Dzieki za pomoc.