mysql connect to remote database Untuk menghubungkan remote database menggunakan ssh tunnel di laravel Contoh dengan demo langkah demi langkah di bawah ini
mysql terhubung ke basis data jarak jauh
Isi
Kami menggunakan Laravel versi terbaru. Kami hanya dapat terhubung ke server jarak jauh melalui terowongan ssh. Cara cepat menghubungkan basis data jarak jauh dengan kunci SSH
Laravel membuat koneksi dengan database dan menjalankan kueri menjadi sangat sederhana. File konfigurasi basis data adalah
$results = DB::select('select * from users where id = ?', array(1));
2. Dalam file ini Anda dapat menentukan semua koneksi database Anda, serta menentukan koneksi mana yang harus digunakan secara default. Contoh untuk semua sistem database yang didukung disediakan dalam file iniSaat ini Laravel mendukung empat sistem database. MySQL, Postgres, SQLite, dan SQL Server
Baca / Tulis Koneksi
Terkadang Anda mungkin ingin menggunakan satu koneksi database untuk pernyataan SELECT, dan satu lagi untuk pernyataan INSERT, UPDATE, dan DELETE. Laravel membuatnya mudah, dan koneksi yang tepat akan selalu digunakan apakah Anda menggunakan kueri mentah, pembuat kueri, atau ORM Eloquent
Untuk melihat bagaimana koneksi baca / tulis harus dikonfigurasi, mari kita lihat contoh ini
'collation' => 'utf8_unicode_ci',
_Perhatikan bahwa dua kunci telah ditambahkan ke larik konfigurasi.
$results = DB::select('select * from users where id = ?', array(1));
3 dan$results = DB::select('select * from users where id = ?', array(1));
4. Kedua kunci ini memiliki nilai larik yang berisi satu kunci.$results = DB::select('select * from users where id = ?', array(1));
5. Opsi basis data lainnya untuk koneksi$results = DB::select('select * from users where id = ?', array(1));
$results = DB::select('select * from users where id = ?', array(1));
4 akan digabungkan dari larik$results = DB::select('select * from users where id = ?', array(1));
8 utama. Jadi, kita hanya perlu menempatkan item dalam larik$results = DB::select('select * from users where id = ?', array(1));
3 dan$results = DB::select('select * from users where id = ?', array(1));
4 jika kita ingin mengganti nilai dalam larik utama. Jadi, dalam hal ini,DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
_1 akan digunakan sebagai koneksi "baca", sedangkanDB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
2 akan digunakan sebagai koneksi "tulis". Kredensial basis data, awalan, kumpulan karakter, dan semua opsi lain di larik$results = DB::select('select * from users where id = ?', array(1));
8 utama akan dibagikan di kedua koneksiMenjalankan Kueri
Setelah Anda mengonfigurasi koneksi database, Anda dapat menjalankan kueri menggunakan kelas
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
4Menjalankan Kueri Pilih
$results = DB::select('select * from users where id = ?', array(1));
Metode
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
_5 akan selalu mengembalikanDB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
6 hasilMenjalankan Pernyataan Sisipkan
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
Menjalankan Pernyataan Pembaruan
DB::update('update users set votes = 100 where name = ?', array('John'));
Menjalankan Pernyataan Hapus
DB::delete('delete from users');
Catatan. Pernyataan
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
_7 danDB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
8 mengembalikan jumlah baris yang dipengaruhi oleh operasi
Menjalankan Pernyataan Umum
DB::statement('drop table users');
Mendengarkan Untuk Acara Kueri
Anda dapat mendengarkan kejadian kueri menggunakan metode ________10______9
DB::listen(function($sql, $bindings, $time)
Transaksi Basis Data
Untuk menjalankan serangkaian operasi dalam transaksi basis data, Anda dapat menggunakan metode
DB::update('update users set votes = 100 where name = ?', array('John'));
0DB::transaction(function()
DB::table('users')->update(array('votes' => 1));
DB::table('posts')->delete();
Catatan. Pengecualian apa pun yang dilemparkan dalam penutupan
DB::update('update users set votes = 100 where name = ?', array('John'));
_0 akan menyebabkan transaksi dibatalkan secara otomatis
Terkadang Anda mungkin perlu memulai transaksi sendiri
Anda dapat mengembalikan transaksi melalui metode
DB::update('update users set votes = 100 where name = ?', array('John'));
2Terakhir, Anda dapat melakukan transaksi melalui metode
DB::update('update users set votes = 100 where name = ?', array('John'));
3Mengakses Koneksi
Saat menggunakan banyak koneksi, Anda dapat mengaksesnya melalui metode
DB::update('update users set votes = 100 where name = ?', array('John'));
4$users = DB::connection('foo')->select(...);
Anda juga dapat mengakses instance PDO mentah yang mendasarinya
$pdo = DB::connection()->getPdo();
Terkadang Anda mungkin perlu menyambung kembali ke database tertentu
Jika Anda perlu memutuskan sambungan dari database yang diberikan karena melebihi batas
DB::update('update users set votes = 100 where name = ?', array('John'));
5 instance PDO yang mendasarinya, gunakan metodeDB::update('update users set votes = 100 where name = ?', array('John'));
6Pencatatan Kueri
Secara default, Laravel menyimpan memori log dari semua kueri yang telah dijalankan untuk permintaan saat ini. Namun, dalam beberapa kasus, seperti saat memasukkan baris dalam jumlah besar, hal ini dapat menyebabkan aplikasi menggunakan memori berlebih. Untuk menonaktifkan log, Anda dapat menggunakan metode
DB::update('update users set votes = 100 where name = ?', array('John'));
7