Profth3tic Ierakstīts Marts 16, 2016 Share Ierakstīts Marts 16, 2016 Sveicināti atkal!Nāku pēc palīdzības ar funkciju ,kuru vēlos izveidot datu pārbaudei un ,lai neveidotu jaunu ierakstu tad funkcija update'o nevis insert'o.Šajā rezultātā uzmet baltu lapu un nekas nenotiek un kļūdu arī neizmet un es nesaprotu ,ko darīt. Funkcija: function buy(){ $connect = mysqli_connect(/* datubāzes dati */); $user = userInfo(); $userid = $user['id']; $result = mysql_query("SELECT * FROM shop WHERE user_id = $userid") OR DIE(mysql_error()); $num_rows = mysql_num_rows($result); if ($num_rows == 0){ // ja ir dati ,tad UPDATE echo info("nav datu ,INSERTOSIM"); $inORup == "INSERT INTO shop (user_id, buy_date, expire_date, service, prev_group) VALUES ('.$user['user_id'].','.time().','.$day_vip.', \'vip\', '.$user['mgroup'].');"; }else{ // ja nav datu INSERT echo error("IR DATI UPDATEOSIM"); $inORup == "UPDATE shop SET expire_date = '.$day_vip.',buy_date='.time().',prev_group='.$user['mgroup'].' WHERE user_id='.$user['user_id'].';"; } $query = $inORup; $query .= "UPDATE users SET mgroup=$group WHERE id=$userisd"; mysqli_multi_query($connect, $query ); } Domāju ,ka šeit ir kārtējā muļķīgā kļūda ,bet ,kāda es pats nezinu. Varbūt kāds var palīdzēt? Paldies jau iepriekš Link to comment Share on other sites More sharing options...
Ronalds Marts 16, 2016 Share Marts 16, 2016 Varbūt tomēr pamācīsies Sql un izlasīsi kādu grāmatu par mySql? http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html Link to comment Share on other sites More sharing options...
Profth3tic Marts 16, 2016 Author Share Marts 16, 2016 (labots) Ja datubāzē būs ieraksts jeb, ja pircējs būs nopircis, viņa ID saglabāsies, bet, ja papildinās, tad izveidos vēl vienu ierakstu un līdz ar to pārbaudot vai pirkums nav beidzies tad viņš var izvēlēties to veco datumu un atņemt pirkumu. tāds mērķis ir tai funkcijai. neticu, ka ar UPDATE var izveidot jaunu ierakstu. Labots Marts 16, 2016 - Profth3tic Link to comment Share on other sites More sharing options...
poxa Marts 16, 2016 Share Marts 16, 2016 Pirmkārt, ja reiz izmanto mysqli, tad arī izmanto mysqli nevis gan mysql, gan mysqli. Otrkārt, "$inORup ==" pieškirot vērtību mainīgajam ir jālieto tikai 1 vienādības zīme, te visdrīzākais, ka arī ir problēma. Link to comment Share on other sites More sharing options...
Profth3tic Marts 16, 2016 Author Share Marts 16, 2016 Nu ok, par to dažādību es pats saprotu, šīs rindas ir tikai pārbaudei. Bet vienādības zīmes neko nedarīja. Iepriekš pieļāvu tādu domu, bet tomēr tā nebija kļūda. Link to comment Share on other sites More sharing options...
poxa Marts 16, 2016 Share Marts 16, 2016 "UPDATE users SET mgroup=$group WHERE id=$userisd"; Neredzu šādus mainīgos. Link to comment Share on other sites More sharing options...
Profth3tic Marts 16, 2016 Author Share Marts 16, 2016 šos mainīgos arī biju ieviesis, bet funkcija nestrādāja. laikam vajadzēs pārbaudīt katru no mainīgajiem, bet vai tāpēc rāda baltu lapu? Link to comment Share on other sites More sharing options...
poxa Marts 16, 2016 Share Marts 16, 2016 Nu ja nerāda errorus, tad visdrīzākais, ka nav ieslēgts display_errors php konfigurācijā. 2 Link to comment Share on other sites More sharing options...
Profth3tic Marts 17, 2016 Author Share Marts 17, 2016 (labots) Kļūdas bija sintaksē ,jo iepriekš SQL operācijas tika izsauktas masīvā un viņš neatpazina "\" Šobrīd funkcija papildināta ar mainīgajiem un viss strādā Kods: function buy(){ $day_vip = date(strtotime("+2 minutes")); $connect = mysqli_connect(db_host, db_user, db_password, db_database); $user = userInfo(); $userid = $user['id']; $group = "11"; $result = mysql_query("SELECT * FROM shop WHERE user_id = $userid") OR DIE(mysql_error()); $num_rows = mysql_num_rows($result); if ($num_rows == 0){ // ja ir dati ,tad UPDATE $inORup = "INSERT INTO shop (user_id, buy_date, expire_date, service, prev_group) VALUES (".$user['id'].",".time().",".$day_vip.", 'vip', ".$user['mgroup'].");"; }else{ // ja nav datu INSERT $inORup = "UPDATE shop SET expire_date = ".$day_vip.",buy_date=".time().",WHERE user_id=".$user['id'].";"; } $query = $inORup; $query .= "UPDATE users SET mgroup=$group WHERE id=$userid"; mysqli_multi_query($connect, $query ); } Paldies par palīdzību Lūgums šo tēmu slēgt Labots Marts 17, 2016 - Profth3tic Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!