Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Mengakses Data dari Objek RowDataPacket dalam Node-webkit dan MySQL?
Apabila bekerja dengan Node-webkit dan MySQL, mengekstrak data daripada pertanyaan pangkalan data boleh kelihatan seperti teka-teki. Salah satu teka-teki yang mungkin anda hadapi ialah mengakses hasil pertanyaan anda, yang selalunya disimpan dalam objek RowDataPacket.
Dalam kod anda, anda telah menyimpan hasil dalam tatasusunan ret selepas menggunakan pertanyaan() kaedah:
var ret = []; conn.query(SQLquery, function(err, rows, fields) { if (err) alert("..."); else { for (var i of rows) ret.push(i); } doStuffwithTheResult(ret); });
Terkejut anda, apabila anda cuba bekerja dengan keputusan dalam fungsi doStuffwithTheResult, anda tertanya-tanya bagaimana untuk mengekstrak data.
Merungkai misteri ini melibatkan pemahaman sifat objek RowDataPacket. Bertentangan dengan namanya, RowDataPacket bukanlah satu paket tetapi fungsi pembina yang mencipta objek. Setiap objek mengandungi pasangan nilai kunci yang mewakili baris dalam jadual pangkalan data anda. Anda boleh mengakses nilai ini menggunakan notasi titik.
Sebagai contoh, jika anda ingin mendapatkan semula user_id daripada hasil pertama, anda akan menggunakan ret[0].user_id. Untuk mendapatkan kedua-dua kunci dan nilai, anda boleh melakukan ret[0].user_id atau ret[0]['user_id'].
Ingat bahawa objek RowDataPacket ialah objek biasa. Anda boleh mengesahkan ini dengan menyemak nama pembina mereka: [0].constructor.name. Ini akan mendedahkan bahawa objek itu adalah contoh RowDataPacket.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Data dari Objek RowDataPacket dalam Node-webkit dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!