làm thế nào để kiểm tra các entry trùng lặp trên một hình thức sử dụng php? Cuối phía trước của tôi là C# cửa sổ ứng dụngnhập trùng lặp trên cơ sở dữ liệu sử dụng php
tôi thêm người dùng mới đến cơ sở dữ liệu sử dụng C# và file php.
Tôi đã tạo ra những điều sau đây:
dự án của tôi trong C# (Form1):
C# mã hóa:
private void btncreate_Click(object sender, EventArgs e)
{
var request = (HttpWebRequest)WebRequest.Create("http://***.**.***.***/response.php");
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
using (var stream = request.GetRequestStream())
{
var buffer = Encoding.UTF8.GetBytes("userid= " + txtUserid.Text + " & password=" + txtConformpassword.Text + " & first_name=" + txtFirstname.Text + " & last_name=" + txtLastName.Text + "& role= " + cmbRole.Text + "& active=" + cmbActive.Text + "");
stream.Write(buffer, 0, buffer.Length);
}
var response = (HttpWebResponse)request.GetResponse();
string result = String.Empty;
using (var reader = new StreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}
txtMessage.Text = result;
}
tôi file PHP: response.php
<?php
$uid = $_POST['userid'];
$pass = $_POST['password'];
$fname = $_POST['first_name'];
$lname = $_POST['last_name'];
$rol = $_POST['role'];
$act = $_POST['active'];
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql= "INSERT INTO aster(userid,password,first_name,last_name,role,active)
VALUES('$uid', '$pass', '$fname','$lname','$rol','$act');";
if ($conn->query($sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
nó thêm dữ liệu thành công nhưng khi tôi nhập cùng một userid trong hộp văn bản và bấm nút tạo tôi cần nhận thông báo lỗi trong txtmessage là userid đã tồn tại.
tôi tìm kiếm thông qua googling nhưng tôi đã không nhận được bất cứ điều gì về mục trùng lặp vui lòng tham khảo cho tôi một số mã hóa
Phần lớn trường userid thời gian là khóa duy nhất và nếu được lặp lại, thì mysql sẽ trả về lỗi. Để tránh điều này, trước tiên hãy thử lấy tất cả các bản ghi với userid mà bạn đang cố chèn. nếu bạn nhận được 0 là kết quả, sau đó bạn là một đi. Không có bản sao. Nếu không, hãy trả về lỗi người dùng có thể đọc được và không thực hiện truy vấn chèn ... – JTheDev
@ JTheDev cảm ơn bạn vì lệnh có giá trị – Arthi
Bạn được chào đón ... – JTheDev