Opened 19 months ago

Closed 19 months ago

Last modified 19 months ago

#3408 closed Bug (fixed)

Showing http:// for outlinks when using MYSQLI

Reported by: EZdesign Owned by:
Priority: critical Milestone: 1.9 -- Piwik 1.9
Component: Core Keywords:
Cc: Sensitive: no


Since Piwik 1.8.4, we use the column url_prefix in log_action. The column is nullable but the MYSQLI adapter does not support NULL values. This results in 0 being written into the database for outlinks (that the UI shows http:// twice is correct behavior - the problem is that the data is incosistent).

Change History (6)

comment:1 Changed 19 months ago by EZdesign (BeezyT)

  • Resolution set to fixed
  • Status changed from new to closed

(In [7056]) fixes #3408 handle NULL values in prepared statement and MYSQLI

comment:2 Changed 19 months ago by EZdesign (BeezyT)

If you have experienced this bug, you can fix the damage easily.

First, fix your database:

UPDATE piwik_log_action SET url_prefix = NULL WHERE type != 1;

After that, the visitor log is back to normal.

Then, drop the archives since September 2012. So if you read this in October, you need to drop (i.e. delete) the MySQL tables piwik_archive_blob_2012_09, piwik_archive_blob_2012_10, piwik_archive_numeric_2012_09 and piwik_archive_numeric_2012_10.

If you have browser archiving enabled, the archives will be recreated on demand. If you use the cronjob, run it.

After doing that, the other reports (e.g. outlinks) should be back to normal.

Note: This only works for new actions if you either apply the patch above by hand or have a version of Piwik installed that includes the change (> 1.8.4).

comment:3 Changed 19 months ago by fjohn


I think it's related but the fix didn't helped.

Now our urls in action=getVisitorLog:

<a href="" target="_blank" style="margin-left: 25px;text-decoration:underline;"></a>

title (it's from import_logs but we set action_name as url):


comment:4 Changed 19 months ago by EZdesign (BeezyT)

Have you executed the SQL statement AND added the code change? You can do that by either applying [7056] by hand or downloading the latest beta:

comment:5 Changed 19 months ago by fjohn

Yeap, we've double checked that.

comment:6 Changed 19 months ago by EZdesign (BeezyT)

Since you have a custom log import setup, I would suspect the error must be in there.

It has been confirmed multiple times that this fix works. If you need support with log import, please use the forum.

Note: See TracTickets for help on using tickets.