← Back to team overview

mahara-contributors team mailing list archive

[Bug 1845228] Re: Mahara installation issues with MySQL 8.0.17

 

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.

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1845228

Title:
  Mahara installation issues with MySQL 8.0.17

Status in Mahara:
  Fix Committed

Bug description:
  Hi,

  The latest version of Mahara (19.04.1) throws the following error when
  running the install.php script

  ```
  [INF] fe (admin/cli/install.php:74) Installing Mahara
  [INF] fe (lib/mahara.php:237) Installing core
  [DBG] fe (lib/dml.php:157) 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 'member BIGINT(10) NOT NULL,
  [DBG] fe (lib/dml.php:157)     role VARCHAR(255) NOT NULL,
  [DBG] fe (lib/dml.php:157)     ctime DATETIME N' at line 3] in EXECUTE("CREATE TABLE group_member (
  [DBG] fe (lib/dml.php:157)     `group` BIGINT(10) NOT NULL,
  [DBG] fe (lib/dml.php:157)     member BIGINT(10) NOT NULL,
  [DBG] fe (lib/dml.php:157)     role VARCHAR(255) NOT NULL,
  [DBG] fe (lib/dml.php:157)     ctime DATETIME NOT NULL,
  [DBG] fe (lib/dml.php:157)     method VARCHAR(100) NOT NULL DEFAULT 'internal',
  ```

  The command we run during the installation process is the following
  one:

  ```
  php "/mahara_folder/admin/cli/install.php" --adminpassword=PASSWORD --adminemail=EMAIL
  ```

  We are using the latest version of MySQL (8.0.17) as database and
  "member" is a reserved word from that version on.

  https://dev.mysql.com/doc/refman/8.0/en/keywords.html

  Regarding the OS, we detected this problem in Linux and Windows (OS X
  is probably affected as well).

  Let me know if you need more information and if you have a workaround
  to install the application with this version of the database.

  Thanks,
  Jota

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1845228/+subscriptions


References