MySQL Syserr Error

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

möchte fragen wie man diese Meldungen fixxen kann.

PHP Code:
SYSERRJan 19 03:34:24 :: DirectQueryAsyncSQL::DirectQuery mysql_query errorYou have an error in your SQL syntaxcheck 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:
SYSERRJan 19 11:07:44 :: DirectQueryAsyncSQL::DirectQuery mysql_query errorColumn 'name' in field list is ambiguous
query
SELECT pidnamedate FROM monarch_candidacy aplayer b where a.pid b.id
SYSERR
Jan 19 11:07:44 :: Load:  DirectQuery failed(SELECT IP_FROMIP_TOCOUNTRY_NAME FROM iptocountry
Und:

PHP Code:
SYSERRJan 12 18:55:02 :: ChildLoopAsyncSQL::ChildLoop mysql_query errorCan'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\
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:
SYSERRJan 19 03:34:24 :: DirectQueryAsyncSQL::DirectQuery mysql_query errorYou have an error in your SQL syntaxcheck 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:
SYSERRJan 19 11:07:44 :: DirectQueryAsyncSQL::DirectQuery mysql_query errorColumn 'name' in field list is ambiguous
query
SELECT pidnamedate FROM monarch_candidacy aplayer b where a.pid b.id
SYSERR
Jan 19 11:07:44 :: Load:  DirectQuery failed(SELECT IP_FROMIP_TOCOUNTRY_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...