Tôi gặp sự cố khi chạy truy vấn chọn trên cơ sở dữ liệu. Một số dữ liệu được tổ chức như một danh sách các giá trị tách dấu phẩy, ví dụ:Chạy một lựa chọn trên danh sách các giá trị được phân cách bằng dấu phẩy trong PHP
Table: example_tbl
| Id | People | Children |
| 1 | 1,2,3 | 8,10,3 |
| 2 | 7,6,12 | 18,19,2 |
Và một ví dụ về các loại điều tôi đang cố gắng để chạy:
<?php
include 'class.php';
$selection = 1;
$db = new DbClass;
$tbl_name = 'example_tbl';
$sql = "SELECT * FROM $tbl_name WHERE ".$selection." IN People";
$result = $db->query($sql);
$print_r($result);
?>
Kịch bản trên nên trả về hàng 1 sau khi tìm thấy '1' trong cột Mọi người nhưng rõ ràng tôi đã bỏ nó lên.
Vấn đề tôi gặp phải là tôi nghĩ rằng tôi có câu lệnh IN ngược, tức là tôi nghĩ phương pháp này sẽ là chọn giá trị nếu $ chọn là danh sách được tách biệt bằng dấu phẩy (chứ không phải đường tròn tôi đang cố gắng) để dùng nó.
Tôi không biết liệu điều này có quan trọng không? . tại thời điểm nó không trả lại gì vì không tìm thấy kết quả phù hợp
Cảm ơn bạn trước vì bất cứ điều gì bạn có thể cho tôi biết.
Cheers -Dave
Đáng tiếc là nó không phải là cơ sở dữ liệu của tôi, tôi đang làm một số công việc cho một doanh nghiệp trên một trang web thực sự lỗi thời. Nhưng Cheers, Điều đó làm việc như một sự quyến rũ. Và cũng rất nhanh chóng;) –
Nếu đó là cơ sở dữ liệu kế thừa, hãy điều chỉnh thiết kế db ban đầu cho tôi :) –
Anh ấy vẫn đang làm việc ở đó, nhưng anh ấy sắp nghỉ hưu và tôi không nghĩ anh ta chỉ cho một tiếng. Nhưng tôi sẽ không làm anh ta bớt hứng thú! –