2012-04-15 6 views
0
p_info_query('SELECT * FROM ' + <table> + ' WHERE name = ' + user_name, password, client_connect.id, p_info, function(results) { 

これは、未知の列 'user_name'を生成しているようです。 私はこれを行う人々のいくつかの例をオンラインで検索しましたが、何も見つかりませんでした。私は特定のものを照会したいと思っています。おそらく2つの値、ユーザー、パスワードを比較しています。JavaScriptでnode-mysqlを使用して特定のものを照会できないようです。

助けが必要ですか?

whateverがの値である
select * from table where name = whatever 

//あなたの問題は、あなたがそうあなたがこのようにSQLで終わるuser_nameを引用していないということですp_info_query機能のために

function p_info_query(sql, password, client_socket_id, player_info_object, callback) { 
    var result = mysql_client.query(sql, function (error, results, fields) { 
    if (error) { 
     console.log('ERROR IN MYSQL LOGIN CALLBACK : '+ error); 
     return false; 
    } 
    if (results.length > 0) { 

    // do stuff 


    callback(true); 
    } else { 

    callback(false); 
    } 
    } 
}); 
+0

私はhttps://github.com/felixge/node-mysqlを使用しています.user_nameは、クライアントがログインしたいuser_nameを含む変数です。 – user1328762

答えて

0

を編集しましたuser_name、そのような引用符で囲まれていない値は識別子(本質的にその文脈では列名)として解析されるため、「未知の列」エラーとなります。

おそらくp_info_queryは、node-mysqlの一部ではないため、あなた自身のものです。あなたはそれが内部的にこのようなことを行うことができるようにプレースホルダを使用するように変更する必要があります

client.query(
    'select * from ' + table_name + ' where name = ?', 
    [ user_name ], 
    function(err, results, fields) { /* ... */ } 
); 

は、SQLと[user_name]配列に?に注意してください。我々はp_info_queryは、我々はあまりにもそれを修正することができ、どのようなものか知っていることを今


function p_info_query(sql, params, password, client_socket_id, player_info_object, callback) { 
    var result = mysql_client.query(sql, params, function (error, results, fields) { 
    // ... 

その後、あなたはこれを言うことができます:

p_info_query(
    'SELECT * FROM ' + table_name + ' WHERE name = ?', 
    [user_name], 
    password, 
    client_connect.id, 
    p_info, 
    function(results) { /* ... */ } 
); 

プレースホルダを使用するには、あなたはそれがより次のようになり更新する必要があります。

+0

この結果、「エラー:あなたの....右の構文でエラーが発生しました。 p_info_query( 'SELECT * FROM' + table_name + 'WHERE user =?'、[user_name]、password、client_connect.id、p_info、function(results){これは私のコールバックの一部です。 – user1328762

+0

この 'p_info_query'関数は何ですか? –

+0

私はちょうど更新しました。 – user1328762