PHP/MySql sürümünde yeni - ve bazı dizgi girişlerini saklamak için bir veritabanı oluşturmaya çalışarak öğreniyorum.Kullanıcıyı bir ekleme eki olarak güncellemek için bir yol var mı?
Tüm iyi çalışıyor - Formumda 3 kullanıcı girişi var: class
, keywords
, usrstring
Veritabanıma sorunsuz bir şekilde eklendi. gerçi
iki sorun,:
# 1) Bu kullanıyorum MySQL fonksiyonudur:
$sql = "INSERT INTO `reporting` (class, keywords, usrtext) VALUES (\"$class\", \"$keywords\", \"$usrtext\") ON DUPLICATE KEY UPDATE `usrtext` = \"$usrtext\" ";
Ama ben duplicate key update
istediğim tek bir satır class
ve keywords
maçı hem eğer . Bir OR örneği değil, ya class
ya da keywords
eşleşiyorsa, satır güncellenir. AND örneğini elde etmek için doğru sözdizimi bu mu?
$("#formdata").submit(function(e) {
var url = "posted.php"; // the script where you handle the form input.
e.preventDefault(); // avoid to execute the actual submit of the form.
$.ajax({
type: "POST",
url: url,
data: $("#formdata").serialize(), // serializes the form's elements.
success: function(data)
{
window.location.href = 'index.php?=successfullyadded';
alert(data) ;
$("#formdata")[0].reset(); // reset form and clear all hidden inputs
}
});
});
Ben bir uyarı oluşturma işlemini kesintiye uğratabilir nasıl şöyledir:
# 2 Ben bir ajax yazı aracılığıyla form verilerini yolluyorum ana dizin sayfasına geri yeniden yönlendirir/orijinal form sayfasından, kullanıcının çift girdiden haberdar olmasını istemek ve girişi iptal etmeyi sürdürmek için bir seçenek verilir (giriş tamamlanmadan önce class
veya keywords
değiştirme şansı verir mi?
** UYARI **: Sadece PHP öğrenme ediyorsanız, http://php.net/manual/en/function.mysql-query ([mysql_query' '] eskimiş öğrenmek etmeyiniz .php) arabirim. Bu korkunç ve PHP 7'de kaldırıldı. [PDO gibi bir şey öğrenmek zor değil] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo- veritabanı için erişim /) ve [PHP The Right Way] (http://www.phptherightway.com/) gibi bir kılavuz, en iyi uygulamaları açıklamaya yardımcı olur. ** emin olun ** kullanıcı parametreleriniz [düzgün bir şekilde kaçtı] (http://bobby-tables.com/php) veya ciddi [SQL enjeksiyon hataları] ile sonuçlanacaksınız (http://bobby-tables.com/). – tadman
Yani (sınıf, anahtar kelimeler) üzerinde birleşik bir anahtarınız var, değil mi? (Elbette normalleştirilmiş bir ortamda olmasına rağmen, anahtar kelimeler olarak adlandırılan bir sütuna sahip olmazsınız) – Strawberry
@tadman - Uyarı ve referanslar için teşekkürler. Ben gerçekten 'mysqli' kullanıyorum ve karakter kaçan girdilerle doğru fırçalama hakkında okudum (birçok kişi kaçan karakter kaçmak gibi görünüyor). Şimdiye kadar, işleri güvenli tutmak için sadece bir xampp localhost ortamında çalışıyorum. – user1837608