View Full Version : very strange problem with classifieds....
May 18th, 2006, 08:04 AM
I moved my classifieds database to a different server last night and now I get this error:
Query: SELECT lon,lat FROM zipData WHERE zipcode = '21901'
Result: Table 'cl_sailnet.zipData' doesn't exist
Database handle: Resource id #24
when trying to use the classifieds...
The zipdata table is present and I can browse it using phpmyadmin on the new server, but when I attempt to run a query through the phpmyadmin interface I get an error that says the zipdata file does not exist.
However in phpmyadmin I also have an entry to the old database and I can query that database just fine.
any ideas as to why this is happening?
I used mysqldump to dump the file off the old server and mysql with the "<" option to restore it on the new server.
thanks in advance...
May 18th, 2006, 08:13 AM
Well thats strange indeed as that error states explicitely the zipData table does not exist.
That query only exists one place in the program and I see no issue in showcat.php
$resultc = ppmysql_query("SELECT lat,lon FROM zipData WHERE zipcode='$dist' LIMIT 1", $link);
list($lat,$lon) = mysql_fetch_row($resultc);
You can always redownload the build and reupload the main core files in case you have a real early 2.5
May 18th, 2006, 08:29 AM
Check - I just figured it out.
for some reason the table name is case sensitive on this server
May 18th, 2006, 11:36 AM
What on import it changed the table name to zipdata
May 18th, 2006, 11:49 AM
here is what I found out when raising the issue to the hosting company who setup the server for us:
This issue of Case-Sensitivity exists in Unix versions, Windows versions are case in-sensitive as far as table names are concerned. You may be experiencing problems related to this difference if you are transfering working MySql code from Windows to a Unix platform.
It is rumored that this issue may be resolved on newer versions of MySql. In the meantime, to avoid data transfer problems stemming from lettercase of database or table names, you have two options:
* Use "lower_case_table_names=1" on all systems. The main disadvantage with this is that when you use "SHOW TABLES" or "SHOW DATABASES", you don't see the names in their original lettercase.
* Use "lower_case_table_names=0" on Unix and "lower_case_table_names=2" on Windows. This preserves the lettercase of database and table names. The disadvantage of this is that you must ensure that your statements always refer to your database and table names with the correct lettercase on Windows. If you transfer your statements to Unix, where lettercase is significant, they do not work if the lettercase is incorrect.
Exception: If you are "using InnoDB" tables, you should set "lower_case_table_names" to 1 on all platforms to force names to be converted to lowercase.
Note that if you plan to set the "lower_case_table_names" system variable to 1 on Unix, you must first convert your old database and table names to lowercase before restarting mysqld with the new variable setting.
May 18th, 2006, 12:39 PM
Okay so your export from windows changed the table name ;)
vBulletin® v3.8.1, Copyright ©2000-2014, Jelsoft Enterprises Ltd.