03. september 2004 - 17:38Der er
14 kommentarer og 1 løsning
hjælp, mysql problem, kun en simpel en tror jeg.
okay hejsa igen alle sammen, nu har jeg prøvet næsten 20 timer at få den her til at virke.. (ms visual c++ 6) --------------------------- int createnewchar(const char * accid, const char * name, BYTE charclass, BYTE gender, BYTE str, BYTE dex, BYTE con, BYTE wis, BYTE cha, BYTE intel) { unsigned int num_rows; char* query = new char[100]; sprintf(query,"SELECT * FROM characters WHERE name='%s'", name);
if(mysql_query(pConn,query)) { // error doing the query Log2File(TRUE, "(MySQL) ERROR : %s\n", mysql_error(pConn)); return 0; } else { // <<<---------- here the accid = OK result = mysql_store_result(pConn); // fetch all the rows from the query. // <<<---------- FROM here and down the accid = BAD num_rows = mysql_num_rows(result); // character exsist. if(num_rows >= 1) { mysql_free_result(result); return 0; }
// no such character name, make one is ok else if(num_rows == 0) { Log2File(TRUE, "(createnewchar 1) Accound id to insert statement %s\n", accid); char* inquery = new char[200]; sprintf(inquery, "INSERT INTO characters (accountid, name, clanname, class, gender, lawful, hp, maxhp, mp, maxmp, level, armor, str, dex, con, wis, cha, intel) VALUES ('%s', '%s', '', '%i', '%i', '0', '10', '10', '10', '10', '1', '10', '%i', '%i', '%i', '%i', '%i', '%i')", accid , name, charclass, gender, str, dex, con, wis, cha, intel); Log2File(TRUE, "Query = %s\n", inquery);
if(mysql_query(pConn,inquery)) { // error doing the query Log2File(TRUE, "(MySQL) ERROR : %s\n", mysql_error(pConn)); mysql_free_result(result); return 0; } else { //result = mysql_store_result(pConn); mysql_free_result(result); return 1; } num_rows = mysql_num_rows(result); } num_rows = mysql_num_rows(result); } return 0; } --------------------------- okay accid skulle være : 1 (da jeg testede) og den var den oxo hele vejen ned indtil det punkt jeg har markeret med:
// <<<---------- FROM here and down the accid = BAD
derefter er accid = "characters" (??)
hvordan kan det ske ???
nogen der kan se det, jeg kan bare ikke se nogen fejl her...
note : jeg har logget mine strenge ud i en tekstfil hele vejen igennem, alt data er ok lige intil den rammer ved num_rows = mysql_num_rows(result); så passer alt pånær min accid.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.