使用多个'?'准备好的声明

时间:2015-05-26 16:03:54

标签: c++ mysql mysql-connector

我在尝试在C ++中使用插入语句时遇到了一些运行时错误。我想使用 2 更多”将电子邮件和用户名插入播放器< / strong>但是我遇到了一些错误。关于问题所在的任何想法?

string userInfo = "INSERT INTO PLAYERTABLE (EmailAddress,UserName)";
        userInfo += " VALUES (?,?)"; 

    PreparedStatement *prepareStatement;
    (*connection)->setAutoCommit(false); //Disable auto commit

    prepareStatement = (*connection)->prepareStatement(TABLEUSERFRIENDS);

    //Make sure User input is correct is NOT MySQL Injection
    prepareStatement->setString(1, "tt@yahoo.com");

    prepareStatement->setString(2, "myusername");

    prepareStatement->executeUpdate();

    (*connection)->commit(); //Save Data

我得到的错误是

错误因为您的SQL语法错误而导致错误;检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法 PLAYERTABLE'在第1行

1 个答案:

答案 0 :(得分:3)

以下是prepare_statement.cpp(http://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-prepared-statements.html)的示例:

$_POST

因此,您需要将SQL(userInfo)作为参数传递给prepareStatement函数。