php ile mysql'e ekleme. PHP kodunu kullanarak MySQL veritabanına nasıl yazılır
Yorumlar blogdan taşındı
SERGEY
09/14/2016 01:25
İyi günler!
Şu soruyla ilgileniyorum: Bir veritabanı kullanmadan verilerin ve program ayarlarının depolanmasını düzenlemenin en kolay yolu nedir? MySQL veya Access'e bağlı kalmak istemiyorum ..
YÖNETİCİ
09/14/2016 22:14
Merhaba!
Özellikler.Ayarlar
Uygulama Yapılandırması
XML dosyası
serileştirme
Listeden bir şey seçmeye çalışın.
NIKOLAİ
09/16/2016 02:28
Merhaba, dataGridView'da vurgulanan satırı dataGridView ve phpMyAdmin'den nasıl kaldırabilirim.
PhpMyAdmin? Bu sadece veritabanıyla çalışmak için bir kabuk, açıklayabilir misiniz?
NIKOLAİ
09/18/2016 02:24
seçilen satırın DataGridView'dan ve veritabanından silinmesi gerekir.
YÖNETİCİ
09/19/2016 07:00
Mysql veritabanında bir satır nasıl silinir - makale eklendi.
NIKOLAİ
09/20/2016 09:20
Çok teşekkürler.
DIMA
09/20/2016 saat 10:24
merhaba, yapabilir misin Bu taraftan DataGridView aracılığıyla değil, ComboBox aracılığıyla uygulansın mı? Öyleyse nasıl? Teşekkürler.
YÖNETİCİ
22.09.2016 03:21
Selam. Örnek:
GENNADY
22.09.2016 18:25
System.Windows.Forms.TextBox, Text veritabanına neden aşağıdaki metni giriyorum: ge
Bu arada bu genin sonunda bu (ge) yazıyor, tablo ayarlarında metin belirtilmiş olmasına rağmen.Gen kelimesi daha uygun olmalıydı, bu tabloyu programıma getiriyorum ve ortaya çıkıyor bana tüm bu gereksiz metni gösteriyor
YÖNETİCİ
09.24.2016 04:17
Büyük olasılıkla, SQL sorgusu yanlış yazılmıştır, örneğin:
textBox1'e adı girin: Gena.
Sql sorgusu: "Tablo adı değerlerini (textBox1, ..) içine yerleştirin"; Sonuç: System.Windows.Forms.TextBox
Ve şunu geçmeniz gerekiyor: "Tabloya isim değerleri ekleyin (textBox1.Text, ..)";
Sonuç: Gen
GENNADY
09.24.2016 18:41
Bu böyle. teşekkürler
SERGEY
25.09.2016 11:51
Merhaba. Ve textBox aracılığıyla veritabanına ekleme nasıl yapılır?
YÖNETİCİ
26.09.2016 20:53
Prensipte her şey aynı. Örneğin, ihtiyacınız olan en son örneği alalım:
// parametreler oluşturun ve bunları cmd.Parameters.AddWithValue ("@ Name", textBox1.Text); cmd.Parameters.AddWithValue ("@ LastName", textBox2.Text);
şimdi parametreler: Name ve LastName metin kutularına girilen değerleri alır ve veritabanına aktarır
LINARA
27.09.2016 17:45
Merhaba, dataGridView ve phpMyAdmin'de vurgulanan satır nasıl?
YÖNETİCİ
29/09/2016 02:06
Vurgulanan satırın phpMyAdmin'de nasıl yapılabileceğini bilmiyorum. Ve örneğin dataGridView'da bu, SelectionChanged olayı kullanılarak yapılabilir.
PSH
09/30/2016 03:48
2 Linara:
Dizeleri bu şekilde düzenlemek istiyorsanız, bir HediSQL aracı alın, dizeleri düzeltin ve değiştirin.
2admin
İyi günler! Malzemeler için teşekkürler - her şey çok güzel bir şekilde ifade edildi)
Soru: Bu sorguyla veri ekliyorum (bu bir test):
String sql = "INSERT INTO kullanıcıları (` FIO`, `Tur`,` Sayı`, `Maliyet`,` Tarih`, `Pasaport`,` Doğum`) DEĞERLER ("Kolyan", "Moskova", "1 + 1 ", 1100," 2011-11-11 "," 1111 1111 "," 11/9/1900 ");";
Veri girildi her şey yolunda, ancak veritabanında (mysql) Kiril alfabesi yerine "????" var.
Visual studio, System.String'in bir Unicode dizisi olduğunu söylüyor.
Ayrıca denendi:
ALTER DATABASE `test` COLLATE" koi8r_general_ci "; ALTER TABLE `users` COLLATE =" koi8r_general_ci "; ALTER DATABASE `test` COLLATE" utf8_unicode_ci "; ALTER TABLE `users` COLLATE =" utf8_unicode_ci ";
Ama yardımcı olmuyor..
Ne yanlış olabilir? VS ve DB için farklı kodlama? Ya da ne?
Ne okunacağını / değiştirileceğini gönderebilir.
Teşekkürler
YÖNETİCİ
01.10.2016 09:49
Selam.
Veritabanında (ve tabloda) harmanlama utf_general_ci şeklindedir.
Böyle bir karşılaştırma var mı? Belki utf8_general_ci?
Genellikle, utf8_general_ci karşılaştırması seçilerek bir Mysql veritabanı oluşturulur, bu nedenle Kiril alfabesi ile ilgili herhangi bir sorun yoktur, tabii ki istemciden sunucuya krakozyabralar gelmedikçe.
COLLATION karşılaştırma için kullanılır, ancak bu durumda karakter seti önemlidir. Bu nedenle, önce sunucuda, örneğin utf8'de ve latin1'de doğru şekilde ayarlandığından emin olmanız gerekir.
.net aracılığıyla bağlanırken, (varsayılan) bağlayıcı latin1'i kullanır, bu nedenle bazen bağlantı dizesinde utf8 kodlamasını açıkça belirtmeniz gerekir:
MySqlConnection mycon; mycon = new MySqlConnection ("sunucu = 127.0.0.1; uid = vasya; pwd = 123; veritabanı = test; Karakter kümesi = utf8;"); // MySqlConnectionStringBuilder: mysqlCSB.CharacterSet = "utf8";
PSH
01.10.2016 11:34
Haklısın, tarif, utf8_general_ci!
Evet yardımcı oldu,;Karakter seti = utf8;
Çok teşekkürler!
SERGİSİ
02.10.2016 11:02
Gerekli çalışma örneği için teşekkürler. Soru
Veritabanının IP adresini girmek istediğim bir metin alanı oluşturdum ancak bu verileri burada nasıl değiştireceğimi bilmiyorum
String conStr = " [e-posta korumalı]; kullanıcı = test; "+
"veritabanı = test; şifre = test;";
Lütfen bana bu yapıya metin alanlarından Windows formuna nasıl veri ekleyeceğimi söyleyin….
YÖNETİCİ
10/03/2016 11:50
"[e-posta korumalı]; kullanıcı = ...
Genel olarak, bu makaledeki gibi özellikleri veya böyle bir dize yerine String.Format() yöntemini kullanmak daha iyidir.
OLGA2203
05/15/2017 20:14
String Connect = “Sunucu = 127.0.0.1; Bağlantı Noktası = 3306; Veritabanı = temel; Veri Kaynağı = localhost; kullanıcı = kök;”; MySqlConnection con = yeni MySqlConnection (Bağlan); con.Aç (); // Veritabanına bağlantı kuruyoruz. MySqlCommand cmd = yeni MySqlCommand (); cmd.CommandText = @ ”tovar'a EKLE (ID, Kategori, Ad, Ticari Marka, Fiyat, Fotoğraf, Boyut, Renk, Malzeme, Sayı) DEĞERLER (@pr, @Category, @Name, @TicariMark, @Fiyat, @Foto, @Boyut, @Renk, @Malzeme, @Sayı) ”; cmd.Parameters.AddWithValue (“@ pr”, sayaç); cmd.Parameters.AddWithValue (“@ Kategori”, comboBox1.SelectedItem.ToString ()); cmd.Parameters.AddWithValue (“@ Ad”, textBox1.Text); cmd.Parameters.AddWithValue (“@ Ticari Marka”, textBox2.Text); cmd.Parameters.AddWithValue (“@ Fiyat”, Convert.ToInt32 (textBox4.Text)); cmd.Parameters.AddWithValue (“@ Fotoğraf”, textBox3.Text); cmd.Parameters.AddWithValue (“@ Boyut”, textBox6.Text); cmd.Parameters.AddWithValue (“@ Renk”, textBox5.Text); cmd.Parameters.AddWithValue (“@ Malzeme”, textBox8.Text); cmd.Parameters.AddWithValue (“@ Count”, Convert.ToInt32 (textBox7.Text)); cmd.Bağlantı = con; cmd.ExecuteNonQuery(); MessageBox.Show (“Ekleme başarılı”, “Ekleme başarılı”, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
"Sütun" Kimlik "boş olamaz" hatası çıkıyor, kimlik sütununa eklemeyi kaldırıyorum - bir sonraki sütun için aynısını yazıyorum vb.
DEĞERLER içinde parantez içinde herhangi bir sabit değer girersem satır tabana eklenir.
Lütfen bana sorunun ne olduğunu söyler misiniz? Form üzerinden girdiğim verileri ve değerleri tam olarak veritabanına yazmam gerekiyor
Son güncelleme: 1.11.2015
"INSERT" ifadesi veri eklemek için kullanılır:
$ sorgu = "INSERT INTO için DEĞERLER (NULL," Samsung Galaksi III "," Samsun ")";
INSERT ifadesi tabloya bir satır ekler. Sonrasında anahtar kelime INTO, tablonun adıdır ve DEĞERLER'den sonra tüm sütunlar için değer kümesi parantez içinde belirtilir. Tabloda üç sütunumuz olduğu için üç değer belirtiyoruz.
Önceki konuda, tabloyu oluştururken aşağıdaki sütun sırasını belirledik: id, ad, şirket, bu durumda id sütunu için NULL değeri iletilir, ad - "Samsung Galaxy III" ve için şirket - "Samsumg".
id sütunu AUTO_INCREMENT olarak tanımlandığından, bunun için belirli bir sayısal değer belirtmemize gerek yoktur ve bir NULL değeri iletebiliriz ve MySQL bir sonraki kullanılabilir değeri sütuna atayacaktır.
Şimdi bir örnekle veri eklemeye bakalım. Bir dosya oluşturalım oluştur.php aşağıdaki içerikle:
Veri eklendi";) // mysqli_close ($ link);)?>
Yeni model ekle
Burada, veritabanı ile etkileşime girme kodu, formların işlevselliği ile birleştirilir: formu kullanarak, veritabanına eklenecek verileri giriyoruz.
Güvenlik ve MySQL
Burada mysqli_real_escape_string() fonksiyonunu kullandık. Daha sonra kullanılan bir dizgedeki karakterlerden kaçmak için kullanılır. SQL sorgusu... Parametre olarak kaçılacak bir bağlantı nesnesi ve bir dize alır.
Bu nedenle, aslında iki kez karakter çıkışı uygularız: önce mysqli_real_escape_string() işlevini kullanan sql ifadesi için ve sonra htmlentities() işlevini kullanan html için. Bu, kendimizi aynı anda iki tür saldırıdan korumamızı sağlayacaktır: XSS saldırıları ve SQL enjeksiyonu.
Bu yazıda, belki de en önemlilerinden bazılarını analiz edeceğiz. SQL sorguları... o bir veritabanı tablosundan kayıt eklemek ve kaldırmak için sorgular... ÇOK sık gerekli olduğu için tabloya yeni kayıtlar ekle, ve içinde yap otomatik mod, o zaman bu materyal çalışma için gereklidir.
Başlamak SQL ekleme sorgusu Yeni giriş masaya:
INSERT INTO kullanıcı (giriş, geçiş) değerleri ("TestUser", "123456")
Bir giriş eklerken, ilk komut " TAKIN", ardından kaydı eklediğimiz tablonun adı. Ardından parantez içinde doldurmak istediğimiz alanların adları gelir. Ardından kelimeden sonra parantez içinde" değerler"seçtiğimiz alanların değerlerini listelemeye başlıyoruz. Bu sorguyu yürüttükten sonra tablomuzda yeni bir kayıt görünecektir.
bazen alır tablodaki bir kaydı güncelleme, bunun için aşağıdakiler var SQL sorgusu:
GÜNCELLEME kullanıcıları SET login = "TestUser2", pass = "1234560" WHERE login = "TestUser"
Bu sorgu, yapıya sahip olduğu için daha karmaşıktır " NEREDE", ancak bununla ilgili daha fazlası aşağıda. İlk önce komut gelir" GÜNCELLEME"ardından tablo adı, ardından" AYARLAMAK"değiştirmek istediğimiz tüm alanların değerlerini açıklıyoruz. Basit olurdu ama şu soru ortaya çıkıyor:" Hangi kaydı güncellemelisiniz?". Bunun için var" NEREDE". Bu durumda, kaydı, alanı güncelliyoruz" giriş yapmak"hangisi önemli" TestKullanıcısı". Lütfen, bu tür birkaç kayıt varsa, o zaman kesinlikle her şey güncellenecek! Bunu anlamak çok önemlidir, aksi takdirde masanızı kaybetme riskiyle karşı karşıya kalırsınız.
Biraz daha konuşalım" NEREDE". Eşitlik için basit testlere ek olarak, mantıksal işlemlerin yanı sıra eşitsizlikler de vardır: VE ve VEYA.
GÜNCELLEME kullanıcıları SET login = "TestUser2", pass = "1234560" WHERE id< 15 AND login="TestUser"
NS SQL sorgusu bu kayıtları güncelleyecek İD hangileri daha az 15 VE alan " giriş yapmak"anlamı var" TestKullanıcısı". Umarım tasarımı anlamışsınızdır." NEREDE"çünkü çok önemli. Aynen öyle." NEREDE"ne zaman kullanılır tablolardan kayıt alma, ve bu, veritabanlarıyla çalışırken en sık kullanılan görevdir.
Ve son olarak, basit bir tane Bir tablodan kayıtları silmek için SQL sorgusu:
Kullanıcılardan DELETE WHERE login = "TestUser2"
komutundan sonra " SİL"Kayıtları silmek istediğiniz tablonun adıdır. Daha sonra " WHERE " yapısını açıklıyoruz. Kayıt açıklanan koşullara uyuyorsa silinecektir. NEREDE", herhangi bir sayıda silinebilir.
Ders esas alınacak biçim geri bildirim hemen hemen her sitede gereklidir.======================================== ?>
Adım bir: Veritabanı oluşturma MySQL
Açığız phpMyAdmin(temel pakete dahil Denwer`a) ve adıyla bir taban oluşturun" test_base", kodlamayı seçin" cp1251_general_ci".
======================================== ?>
İkinci adım: içinde bir tablo oluşturma MySQL kullanarak SQL sorguları
Elbette kullanarak bir tablo oluşturabilirsiniz. standart araçlar phpMyAdmin, ancak oluşturulan tablonun yapısı açıkça görülecektir.
"adlı bir tablo oluşturun test_table"ve adları olan altı alanla:
"isim" - kullanıcı adları burada saklanacaktır;
"e-posta" - adresler burada saklanacak elektronik kutular kullanıcılar;
"tema" - mesajın konusu burada saklanacaktır;
"mesaj" - mesajlar burada saklanacaktır;
"veri" - mesajın gönderildiği tarih burada saklanacaktır;
"id" - kayıt (satır) kimlik numarası, anahtar alan.SQL sorgusu:
tablo oluştur test_table (
id int (11) boş otomatik artış değil,
isim varchar (255) boş değil,
e-posta varchar (255) boş değil,
tema varchar (255) boş değil,
mesaj metni boş değil,
veri tarihi boş değil,
birincil anahtar (kimlik)
);======================================== ?>
Adım üç: Form oluşturma
dizin.html:
MySQL Kaydetme Formu
MySQL'de veri kaydeden bir form örneği