Error Zend Db Statement Mysqli Exception

Hello Omeka Team,

We received the following error message while using Omeka Classic Version 3.0.3 to add a new record. Can you tell us what it means and what steps to take to correct it? Thank you!

Zend_Db_Statement_Mysqli_Exception

Mysqli prepare error: FUNCTION oberlinw_omek1.AsText does not exist

Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: FUNCTION oberlinw_omek1.AsText does not exist in /home/oberlinw/public_html/omeka/application/libraries/Zend/Db/Statement/Mysqli.php:77

Stack trace:

#0 /home/oberlinw/public_html/omeka/application/libraries/Zend/Db/Statement.php(115): Zend_Db_Statement_Mysqli->_prepare(‘SELECT `neatlin…’)

#1 /home/oberlinw/public_html/omeka/application/libraries/Zend/Db/Adapter/Mysqli.php(388): Zend_Db_Statement->__construct(Object(Zend_Db_Adapter_Mysqli), ‘SELECT `neatlin…’)

#2 /home/oberlinw/public_html/omeka/application/libraries/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Adapter_Mysqli->prepare(‘SELECT `neatlin…’)

#3 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Db.php(80): Zend_Db_Adapter_Abstract->query(‘SELECT `neatlin…’, Array)

#4 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Db/Table.php(647): Omeka_Db->__call(‘query’, Array)

#5 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Db/Table.php(429): Omeka_Db_Table->fetchObjects(Object(Omeka_Db_Select), Array)

#6 /home/oberlinw/public_html/omeka/plugins/Neatline/models/NeatlineRecordTable.php(53): Omeka_Db_Table->findBySql(‘item_id=?’, Array)

#7 /home/oberlinw/public_html/omeka/plugins/Neatline/NeatlinePlugin.php(144): NeatlineRecordTable->syncItem(Object(Item))

#8 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Plugin/Broker.php(154): NeatlinePlugin->hookAfterSaveItem(Array)

#9 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Record/AbstractRecord.php(301): Omeka_Plugin_Broker->callHook(‘after_save_item’, Array)

#10 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Record/AbstractRecord.php(548): Omeka_Record_AbstractRecord->runCallbacks(‘afterSave’, Array)

#11 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Controller/AbstractActionController.php(188): Omeka_Record_AbstractRecord->save(false)

#12 /home/oberlinw/public_html/omeka/application/controllers/ItemsController.php(148): Omeka_Controller_AbstractActionController->addAction()

#13 /home/oberlinw/public_html/omeka/application/libraries/Zend/Controller/Action.php(516): ItemsController->addAction()

#14 /home/oberlinw/public_html/omeka/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch(‘addAction’)

#15 /home/oberlinw/public_html/omeka/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))

#16 /home/oberlinw/public_html/omeka/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()

#17 /home/oberlinw/public_html/omeka/application/libraries/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()

#18 /home/oberlinw/public_html/omeka/application/libraries/Omeka/Application.php(73): Zend_Application->run()

#19 /home/oberlinw/public_html/omeka/admin/index.php(28): Omeka_Application->run()

#20 {main}

This looks like it’s a problem with Neatline.

The “AsText” function is a MySQL function related to geographic data. The name of that function has changed between older and more recent versions of MySQL; the version you have no longer supports the “AsText” function name that Neatline is trying to use.

To my knowledge, Neatline isn’t currently being actively developed or updated anymore. But I believe there was already a updated version of Neatline released to account for this change (several years ago now), so upgrading your Neatline plugin may be all that’s required.

Thank you so much John, for your quick reply! We will look at updating the Neatline plugin.