Mijn vrouw heeft een goed lopende webshop, maar er gebeurde de afgelopen tijd een paar vreemde dingen op de website. Nadat op onverklaarbare wijze een map met bestanden voor idealcheckout waren verdwenen, kreeg ik nadat ik deze map vanuit een backup weer terug had gezet, in ene de volgende foutmelding bij het afrekenen te zien:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/baby/public_html/idealcheckout/includes/library.php on line 985
ERROR: Invalid request.
Dat laatste is voor de foutmelding en kan ik snappen. Ik kan er alleen niet bij waarom er nu in ene een fout zou zijn het idealgebeuren en ik deze melding krijg... Tot en met gisteren 16:14 uur was er geen vuiltje aan de lucht...
Ik hoop dat iemand hier mij verder kan helpen, ik kom er niet uit op het moment...
De foutmelding geeft heel simpel aan dat er een query mislukt is, en er niet gecontroleerd wordt op het wel of niet lukken van die query. Mogelijk doet de query gekke dingen, maar het kan ook een beschadigde tabel zijn.
De foutmelding geeft heel simpel aan dat er een query mislukt is, en er niet gecontroleerd wordt op het wel of niet lukken van die query. Mogelijk doet de query gekke dingen, maar het kan ook een beschadigde tabel zijn.
Wauw, het repareren van de tabellen in de database heeft het probleem opgelost...\
Dan is de volgende stap dat je ontdekt *waarom* tabellen beschadigd raken. Zelfs MySQL doet dit niet helemaal vanzelf. Of misschien is fatsoenlijke queryafhandeling nog beter, waardoor je gewoon een duidelijke (gelogde) melding had gehad wat er aan de hand was. Take your pick, het liefst beide.
Ik zou ook z.s.m. gaan zoeken naar een update van die checkout, want als die nog steeds mysql_-functies gebruikt (zoals de foutmelding doet vermoeden) en je host onverhoopt besluit de PHP versie te bumpen dan ben je gezien.
Dat zou ik ook doen, maar er is waarschijnlijk nog meer mis. Immers, bestanden verdwijnen niet uit zichzelf, een onderzoekje hiernaar is ook nuttig. De kans is groot dat er sprake is van foul play.
Ook in de updates van de module voor onze versie va Prestashop komt een probleem voor, namelijk:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/baby/public_html/idealcheckout/includes/library.php on line 1697
De volgende code staat op deze regel:
return mysqli_num_rows($oRecordSet);
Het volledige stukje code is:
function idealcheckout_database_num_rows($oRecordSet)
{
global $aIdealCheckout;
Nu heeft de webhoster de module zelfs als gehacked aangemerkt en kan ik de module niet meer gebruiken. Het is de bedoeling op korte termijn de shop te gaan updaten, maar dat gaat niet van vandaag op morgen...
Wat kan ik het beste doen? Is de code van die module 'om' te schrijven? Of is dat machtig veel werk?