Comment 5 for bug 1845228

Revision history for this message
Karna Kitab Kumar (karnakitab) wrote :

PHP 7.4
MySQL 8.0.17

I installed mahara after applying patches mentioned here: https://bugs.launchpad.net/mahara/+bug/1845228

But upon going to .../admin/users/institutions.php the following error popped up (debug enabled):

```
[WAR] 29 (lib/errors.php:859) Failed to get a recordset: mysqli error: [1064: 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 '|| '' || '%'
            )
            OR (
                ii.displayname LIKE ' at line 4] in EXECUTE("SELECT COUNT(ii.name)
            FROM "home_institution" ii
            WHERE(
                ii.name LIKE '%' || '' || '%'
            )
            OR (
                ii.displayname LIKE '%' || '' || '%'
            )")Command was: SELECT COUNT(ii.name)
            FROM "home_institution" ii
            WHERE(
                ii.name LIKE '%' || ? || '%'
            )
            OR (
                ii.displayname LIKE '%' || ? || '%'
            ) and values was (0:,1:)
```

```
Call stack (most recent first):

    log_message("Failed to get a recordset: mysqli error: [1064: Yo...", 8, true, true) at /.../public_html/mahara/lib/errors.php:95
    log_warn("Failed to get a recordset: mysqli error: [1064: Yo...") at /.../public_html/mahara/lib/errors.php:859
    SQLException->__construct("Failed to get a recordset: mysqli error: [1064: Yo...") at /.../public_html/mahara/lib/dml.php:540
    get_recordset_sql("SELECT COUNT(ii.name) FROM "home_insti...", array(size 2)) at /.../public_html/mahara/lib/dml.php:299
    count_records_sql("SELECT COUNT(ii.name) FROM {institutio...", array(size 2)) at /.../public_html/mahara/lib/institution.php:889
    Institution::count_members(false, true, "", 10, 0, null) at /.../public_html/mahara/lib/institution.php:1100
    build_institutions_html(false, true, "", 10, 0, null) at /.../public_html/mahara/admin/users/institutions.php:703

```

```
[WAR] 29 (lib/dml.php:540) Failed to get a recordset: mysqli error: [1064: 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 '|| '' || '%'
            )
            OR (
                ii.displayname LIKE ' at line 4] in EXECUTE("SELECT COUNT(ii.name)
            FROM "home_institution" ii
            WHERE(
                ii.name LIKE '%' || '' || '%'
            )
            OR (
                ii.displayname LIKE '%' || '' || '%'
            )")Command was: SELECT COUNT(ii.name)
            FROM "home_institution" ii
            WHERE(
                ii.name LIKE '%' || ? || '%'
            )
            OR (
                ii.displayname LIKE '%' || ? || '%'
            ) and values was (0:,1:)
```

```
Call stack (most recent first):

    get_recordset_sql("SELECT COUNT(ii.name) FROM "home_insti...", array(size 2)) at /.../public_html/mahara/lib/dml.php:299
    count_records_sql("SELECT COUNT(ii.name) FROM {institutio...", array(size 2)) at /.../public_html/mahara/lib/institution.php:889
    Institution::count_members(false, true, "", 10, 0, null) at /.../public_html/mahara/lib/institution.php:1100
    build_institutions_html(false, true, "", 10, 0, null) at /.../public_html/mahara/admin/users/institutions.php:703
```

Please fix it. I have access to only MySQL 8.