JemCraft Posted December 10, 2006 Posted December 10, 2006 Help, I cannot delete or edit or even open any of the orders that have been made on my website - when trying to delete on I got the error: 1016 - Can't open file: 'orders_session_info.MYI'. (errno: 145) delete from orders_session_info where orders_id = '1691' [TEP STOP] Any help/suggestions gratefully received. Thanks Jemma
Barbie Posted December 10, 2006 Posted December 10, 2006 Help, I cannot delete or edit or even open any of the orders that have been made on my website - when trying to delete on I got the error: Any help/suggestions gratefully received. Thanks Jemma Hi Again! Do you have in your configure.php files sessions set to MYSQL ? That is where the orders will be stored. The error message comes from the fact that it can't find the table with the orders so first check to see if the sessions are stores in the database. If it is enabled and you have that 1016 message then your database is maybe corrupt. The error message will always be shown until the database table involved has been repaired. According to the documentation of OSC the following methods are available to repair damaged database tables, depending on whether the database server is still running or not: Using the "repair table" SQL statement The <database table name> part in the commands below must be replaced with the actual database table name as shown in the error message. Using the "repair table" SQL statement The following SQL statement can be executed when the database server is still running: repair table <database table name>; Hope this helps.
JemCraft Posted December 10, 2006 Author Posted December 10, 2006 Hi Again! Do you have in your configure.php files sessions set to MYSQL ? That is where the orders will be stored. The error message comes from the fact that it can't find the table with the orders so first check to see if the sessions are stores in the database. If it is enabled and you have that 1016 message then your database is maybe corrupt. The error message will always be shown until the database table involved has been repaired. According to the documentation of OSC the following methods are available to repair damaged database tables, depending on whether the database server is still running or not: Using the "repair table" SQL statement The <database table name> part in the commands below must be replaced with the actual database table name as shown in the error message. Using the "repair table" SQL statement The following SQL statement can be executed when the database server is still running: repair table <database table name>; Hope this helps. The database is indeed currupt - do you know what could have caused it? when i try to run the fix i get the error ErrorSQL query: REPAIR TABLE < orders_session_info > MySQL said: #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 '<orders_session_info>' at line 1 any ideas? thanks jemma
Barbie Posted December 10, 2006 Posted December 10, 2006 The database is indeed currupt - do you know what could have caused it? when i try to run the fix i get the error any ideas? thanks jemma Hey again! Usually that refers to a problem in the split_page.php so go to admin/includes/classes/split_page_results.php and change around line 37 (AFTER backing up) : $offset = ($max_rows_per_page * ($current_page_number - 1)); $sql_query .= " limit " . $offset . ", " . $max_rows_per_page; change to : $offset = ($max_rows_per_page * ($current_page_number - 1)); if ($offset < 0) { $offset = 0 ; } $sql_query .= " limit " . $offset . ", " . $max_rows_per_page; See if that fixes it.
Barbie Posted December 10, 2006 Posted December 10, 2006 Hey again!Usually that refers to a problem in the split_page.php so go to admin/includes/classes/split_page_results.php and change around line 37 (AFTER backing up) : $offset = ($max_rows_per_page * ($current_page_number - 1)); $sql_query .= " limit " . $offset . ", " . $max_rows_per_page; change to : $offset = ($max_rows_per_page * ($current_page_number - 1)); if ($offset < 0) { $offset = 0 ; } $sql_query .= " limit " . $offset . ", " . $max_rows_per_page; See if that fixes it. Jemma, what do you have at '<orders_session_info>' at line 1 (to see the syntax that may be contested)?
JemCraft Posted December 10, 2006 Author Posted December 10, 2006 Jemma, what do you have at '<orders_session_info>' at line 1 (to see the syntax that may be contested)? I made the change to split_page.php but still getting the error 1016 - Can't open file: 'orders_session_info.MYI'. (errno: 145) select txn_signature from orders_session_info where orders_id = '1689' limit 1 [TEP STOP] When I try to open the database orders_session_info I get the following error ErrorSQL query: SHOW INDEX FROM `orders_session_info` ; MySQL said: #1016 - Can't open file: 'orders_session_info.MYI'. (errno: 145)
JemCraft Posted December 10, 2006 Author Posted December 10, 2006 Doh! Barbie, your first fix for running the repair did work, except I stupidly put REPAIR TABLE < orders_session_info > not REPAIR TABLE orders_session_info; Doh! Thanks for your help (see you next time something goes wrong!!!)
Barbie Posted December 10, 2006 Posted December 10, 2006 Doh! Barbie, your first fix for running the repair did work, except I stupidly put REPAIR TABLE < orders_session_info > not REPAIR TABLE orders_session_info; Doh! Thanks for your help (see you next time something goes wrong!!!) Glad to be of help and bon courage!
JemCraft Posted February 3, 2007 Author Posted February 3, 2007 Oh great it's happened again... Now when I open up any order that has bee processed via paypal, I get the error 1017 - Can't find file: 'orders_session_info.MYI' (errno: 2) select txn_signature from orders_session_info where orders_id = '2078' limit 1 [TEP STOP] I have tried using the repair table thing, but get the error SQL querySQL query:REPAIR TABLE orders_session_info; [ Edit ] [ Create PHP Code ] Table Op Msg_type Msg_text jemcscom_osc1.orders_session_info repair error Can't find file: 'orders_session_info.MYI' (errno:... Is anyone ableto help? Tahnks Jemma
JemCraft Posted February 3, 2007 Author Posted February 3, 2007 Ok so I searched on the mysql forum and came up with this: Utilizando phpMyAdmin, elige tu base de datos y ve a la pestaña SQL para ejecutar los siguientes comandos: REPAIR TABLE <nombre> EXTENDED; Si este comando no tiene éxito, que es lo que supongo que pasará, tendrás que ejecutar el siguiente comando: REPAIR TABLE <nombre> USE_FRM; tras lo cual deberás establecer el AUTO_INCREMENT de la tabla, si tiene un campo AUTO_INCREMENT, a un valor adecuado; por ejemplo, consultando cuál es el máximo (SELECT MAX(<campo>) FROM <tabla>)) y sumando 1. Para establecer el AUTO_INCREMENT, utiliza el siguiente comando: ALTER TABLE <tabla> AUTO_INCREMENT = <valor>; Un saludo, Miguel Pérez Afina Sistemas - Partner de MySQL en España I ran it through BabelFish and translated it to this: Using phpMyAdmin, it chooses your data base and it sees eyelash SQL to execute the following commandos: REPAIR TABLE YOU EXTEND; If this commando is not successful, that is what I suppose that will happen, you will have to execute the following commando: REPAIR TABLE USE_FRM; after which you will have to establish the AUTO_INCREMENT of the table, if it has a field AUTO_INCREMENT, to a suitable value; for example, consulting which is maximum (SELECT MAX() FROM)) and adding 1. In order to settle down the AUTO_INCREMENT, the following commando uses: ALTER TABLE AUTO_INCREMENT =; A greeting, Miguel Perez Sharpens Systems - Partner de MySQL in Spain I ran REPAIR TABLE orders_session_info EXTENDED and nothing, but when I ran REPAIR TABLE order_session_info USE_FRM; it has fixed it for now........ Can anyone tell me if I have fixed it or bodged it? Many thanks Jemma
Recommended Posts
Archived
This topic is now archived and is closed to further replies.