Mysql query

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Halloversuche gerade mein handy system weiter zu machen nur leider geht mein query nich und ich checke nicht was ich falsch mache: mysql log: [01:19:08] >> mysql_query( Connection handle: 1 )


    [01:19:08] CMySQLHandler::Query(SELECT kontakt FROM hkontakte WHERE besitzer = 'Jan_Coleman) - An error has occured. (Error ID: 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 ''Jan_Coleman' at line 1)


    [01:19:08] >> mysql_store_result( Connection handle: 1 )


    [01:19:08] CMySQLHandler::StoreResult() - No data to store.


    [01:19:08] >> mysql_fetch_row_format( Connection handle: 1 )


    [01:19:08] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)


    [01:19:08] >> mysql_free_result( Connection handle: 1 )


    [01:19:08] CMySQLHandler::FreeResult() - The result is already empty.


    [01:19:11] >> mysql_query( Connection handle: 1 )


    [01:19:11] CMySQLHandler::Query(SELECT kontakt FROM hkontakte WHERE besitzer = 'Jan_Coleman) - An error has occured. (Error ID: 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 ''Jan_Coleman' at line 1)


    [01:19:11] >> mysql_store_result( Connection handle: 1 )


    [01:19:11] CMySQLHandler::StoreResult() - No data to store.


    [01:19:11] >> mysql_fetch_row_format( Connection handle: 1 )


    [01:19:11] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)


    [01:19:11] >> mysql_free_result( Connection handle: 1 )


    [01:19:11] CMySQLHandler::FreeResult() - The result is already empty.



    dann die tabelle:


    und dann noch der script teil: stock Kontakt(playerid)
    {
    MAX_KONTAKTE[playerid]=0;
    new mysql[60];
    new Nama[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Nama,sizeof(Nama));
    format(mysql, sizeof (mysql), "SELECT kontakt FROM hkontakte WHERE besitzer = '%s'",Nama);
    mysql_query(mysql);
    mysql_store_result();
    new Get[128];
    new string[640];
    while(mysql_fetch_row(Get))
    {
    MAX_KONTAKTE[playerid]++;
    format(KontaktInDb[playerid][MAX_KONTAKTE[playerid]],MAX_PLAYER_NAME,"%s",Get);
    format(string,sizeof(string),"%s%s\r\n",string,Get);
    SendClientMessage(playerid,Gelb,Get);
    }
    mysql_free_result();
    new all[1024];
    format(all,1024,"Zurück\nKontakt Hinzufügen\n%s",string);
    ShowPlayerDialog(playerid,DIALOG_HANDY_KONTAKTE,DIALOG_STYLE_LIST,"Kontakte",all,"Antworten","Schließen");
    return 1;
    }


    dann noch halt es werde die kontakte nich angezeigt auch nicht durch das debuggen ist ja eigl klar nur was daran falsch?




    MFG janpplayer

  • Du hast einen Syntax error, weil deine query genau so aussieht:

    SQL
    SELECT kontakt FROM hkontakte WHERE besitzer = 'Jan_Coleman


    Es fehlt das ' hinter dem namen. Grund dafür ist, das dein string 60 zeichen groß ist, und die query 61. Sprich genau 1 zu klein :D


    SELECT kontakt FROM hkontakte WHERE besitzer = ' (48 Zeichen)
    +
    %s (MAX_PLAYER_NAME, also 24 Zeichen)
    +
    ' (1 zeichen)


    Macht 48+24+1+1, also sollteste den string für die query mind. 74 zeichen groß machen.

    The fact is, I am right. And if you think I'm wrong, you are wrong.