phpMyEdit for PHP7 and MySQLi

One of my clients uses phpMyEdit but unfortunately when we updated their web hosting account to PHP 7, phpMyEdit v5.7.1 stopped working. The changes required to phpMyEdit to make it work are pretty simple, mainly update the __construct function and migrated mysql_* calls to mysqli_*. My updated version of phpMyEdit is available for download below.

Here are the errors phpMyEdit v5.7.1 was throwing on PHP 7:

[03-May-2019 08:53:30 CST6CDT] PHP Fatal error:
Uncaught Error: Call to undefined function mysql_connect() in /home/.../public_html/.../phpMyEdit.class.php:317
Stack trace:
0 /home/.../public_html/.../phpMyEdit.class.php(3072): phpMyEdit->sql_connect()
1 /home/.../public_html/.../phpMyEdit.class.php(3111): phpMyEdit->connect()
2 /home/.../public_html/.../phpMyEdit.class.php(3372): phpMyEdit->execute()
3 /home/.../public_html/.../edit.php(169): phpMyEdit->phpMyEdit(Array)
4 {main}
thrown in /home/.../public_html/data/phpMyEdit.class.php on line 317

To upgrade phpMyEdit v5.7.1 to PHP 7+ I made the following changes:

  • the __construct functions
  • migrated the mysql_* calls to mysqli_*

You are welcome to use my updated copy of the phpMyEdit class file. Here is a download link to the class file with my changes:

Download: phpMyEdit.zip

Published by

Kimball

Kimball is a website designer and developer in Goffstown, NH.

8 comments on:
“phpMyEdit for PHP7 and MySQLi”

  1. Hi,

    Unfortunately the above link to the updated phpMyEdit class is broken. Any chance to have it fixed soon? Thanks in advance!

  2. Can you help me where to put in phpMyEdit class file

    // Change character set to utf8
    mysqli_set_charset($con,”utf8″);

    1. At line 318, like so….

      function sql_connect() /* {{{ */
      {
      $this->dbh = @ini_get(‘allow_persistent’)
      ? @mysqli_pconnect($this->hn, $this->un, $this->pw)
      : @mysqli_connect($this->hn, $this->un, $this->pw);
      mysqli_set_charset($this->dbh, “utf8”);

      } /* }}} */

    2. Modify the function sql_connect() with adding the follow 2 lines worked for me !!!

      function sql_connect() /* {{{ */
      {
      $this->dbh = @ini_get(‘allow_persistent’)
      ? @mysqli_pconnect($this->hn, $this->un, $this->pw)
      : @mysqli_connect($this->hn, $this->un, $this->pw);

      mysqli_query($this->dbh,”set character_set_client=’utf8′”);
      mysqli_query($this->dbh,”set character_set_results=’utf8′”);

      } /* }}} */

  3. I am trying to install phpMyEdit-5.7.1 on a Centos 7 with php 7.2. The phpMyEdit.Setup.php program throws this error in the logs

    “PHP Fatal error: Uncaught Error: Call to undefined function mysql_pconnect() in /var/www/html/phpmyedit/phpMyEditSetup.php:165\nStack trace:\n#0 {main}\n thrown in /var/www/html/phpmyedit/phpMyEditSetup.php on line 165, referer: http://localhost/phpmyedit/

    Even after I replaced the phpMyEdit with the revised one from the link above, I am not able to get it running.

    I am not very familiar with the @mysql_pconnect syntax and how to replace it with the newer mysqli compatible syntax. Will be grateful for any pointer to a solution.

Leave a Reply

Your email address will not be published. Required fields are marked *