Mysql(node.js)で一致するものが見つからないかどうかを確認するにはどうすればよいですか?
mysql.query("select * from table1 where name = 'abcd'", function(error, result, field) {
if(error) {
exist(error); //No error
} else if(result) {
console.log(result); //displays '[]'
exist(null, result);
} else {
exist(null, null); //It is never execute
}
});
function exist(error, result) {
if(result)
console.log("Test:"+result); //Executed and displays 'Test:'
}
データベースにname = 'abcd'が含まれていません。では、クエリが一致しないかどうかを確認するにはどうすればよいですか?
クエリの結果として空の配列([]
)が返されます。これは、データベースにname = 'abcd'
の行が含まれていないためです。 。
あなたがするとき:
if (result) {
if (result)
console.log("Test:" + result);
、あなたはif
を入力します。JavaScriptはtrue
を[]
として評価するためです。 この記事はこちら を見てください。これは、JavaScriptがtrue
とfalse
の値を評価する方法を説明しています。
結果の配列が空かどうかを確認するより良い方法は、次のようにすることです:
if (result.length > 0) {
if (result)
console.log("Test:" + result);