MySQL Syserr Error

01/19/2013 12:00 XtremeZocker#1
Hallo,

möchte fragen wie man diese Meldungen fixxen kann.

PHP Code:
SYSERR: Jan 19 03:34:24 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: 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 's Pferd')' at line 1
query: REPLACE INTO horse_name VALUES(57997, '
RedDong's Pferd') 
PHP Code:
SYSERR: Jan 19 11:07:44 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
query
: SELECT pid, name, date FROM monarch_candidacy a, player b where a.pid = b.id
SYSERR
: Jan 19 11:07:44 :: Load:  DirectQuery failed(SELECT IP_FROM, IP_TO, COUNTRY_NAME FROM iptocountry) 
Und:

PHP Code:
SYSERR: Jan 12 18:55:02 :: ChildLoop: AsyncSQL::ChildLoop : mysql_query error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2):
query: UPDATE player SET job = 0, voice = 0, dir = 0, x = 63390, y = 165156, z = 0, map_index = 21, exit_x = 63390, exit_y = 165156, exit_map_index = 21, hp = 1760, mp = 260, stamina = 1320, random_hp = 0, random_sp = 0, playtime = 22, level = 1, level_step = 0, st = 6, ht = 4, dx = 3, iq = 3, gold = 0, exp = 0, stat_point = 0, skill_point = 0, sub_skill_point = 0, stat_reset_count = 0, ip = '
Zensiert', part_main = 11209, part_hair = 1009, last_play = NOW(), skill_group = 0, alignment = 15, horse_level = 0, horse_riding = 0, horse_hp = 0, horse_hp_droptime = 0, horse_stamina = 0, horse_skill_point = 0, skill_level = '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 
Eine Antwort würde mir Helfen,

Gruße

XtremeZocker
01/19/2013 12:14 beefm4ker#2
Quote:
Originally Posted by XtremeZocker View Post
PHP Code:
SYSERR: Jan 19 03:34:24 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: 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 's Pferd')' at line 1
query: REPLACE INTO horse_name VALUES(57997, '
RedDong's Pferd') 
PHP Code:
SYSERR: Jan 19 11:07:44 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
query
: SELECT pid, name, date FROM monarch_candidacy a, player b where a.pid = b.id
SYSERR
: Jan 19 11:07:44 :: Load:  DirectQuery failed(SELECT IP_FROM, IP_TO, COUNTRY_NAME FROM iptocountry) 
Der erste Fehler wird durch dein RedDong's Pferd hervorgerufen, da an dem ' für MySQL der String wieder geschlossen wird... Es müsste `RedDong's Pferd` heißen bzw. 'RedDongs Pferd' also ohne Apostroph s.
Der zweite Fehler sagt ja schon, dass der Spaltenname doppeldeutig ist, heißt soviel: die Spalte name kommt sowohl in a als auch b vor... Somit müsste die korrekte Abfrage sein: SELECT pid, monarch_candidacy.name, date FROM monarch_candidacy a, player b where a.pid = b.id oder halt player.name....

Mfg
01/19/2013 12:38 XtremeZocker#3
Was es heißt weiß ich ja auch aber wie beheb ich das?
01/19/2013 16:56 beefm4ker#4
Quote:
Originally Posted by XtremeZocker View Post
Was es heißt weiß ich ja auch aber wie beheb ich das?
Hab ich doch auch bereits geschrieben?
Du darfst bei deiner ersten Abfrage kein 's haben sondern entweder 'RedDongs Pferd' oder `RedDong's Pferd`. Bei der zweiten Abfrage musst du eben die Spalte name präziser angeben, da sie scheinbar sowohl in der Tabelle player als auch in der Tabelle monarchy_candidacy exisitiert...