10/10/2018, 11:36

[code PHP]Lỗi khó hiểu khi Insert 1 đoạn text vào data có lúc được, lúc ko???

Chào mọi người,
Mong mọi người giúp đỡ mình. Mình có code PHP insert 1 đoạn text (đoạn text này được copy từ 1 bài báo) vào database. Có 1 điều lạ là lúc thì lưu được bình thường, có lúc nó nổi hứng không chịu lưu. PHP cũng ko báo lỗi gi` hết. Mình có dùm hàm mysql_error() để xem nó hiện lỗi gi` khi không lưu đc tin. Khi ko lưu được nó hiện lên lỗi như vầy:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'Dưới chân mình cũng có những ước' at line 1"

Đoạn text 'Dưới chân mình cũng có những ước' nó thuộc đoạn text mà mình copy từ nguyên 1 bài viết chi tiết từ báo tin tức khác.
Nhưng mình thử copy chi tiết bài viết của tin khác thì lại được.
Mình không thể hiểu nổi nguyên nhân là do đâu.
Mọi người giúp mình khắc phục lỗi này nha.
Mình viết code trên dựa theo Joomla. Viết 1 component. Hiện bị lỗi này. Đã lên google search nhiều nhưng bó tay. Hic. Hay do mình viết nhiều code xử lý quá, nên đôi khi đến lúc insert vào nó xử lý không kịp ta.
GrouponClone viết 13:39 ngày 10/10/2018
chắc trong đoạn text của bạn có dấu ' ==> làm sai câu lệnh sql nên nó báo lổi
banbe.info viết 13:51 ngày 10/10/2018
hình như là có ký tự đặc biệt bạn ạ (thông thường là các dấu nhasym dấu phẩy, dấu hỏi linh tinh). Thông thường nhưng bài viết trên mạng có các ký tự là mà insert bt sẽ ko đc
Tìm không chắc lắm, nhưng tìm thêm trên google thử xem
luvitgl viết 13:40 ngày 10/10/2018
cảm ơn mọi người đã trả lời, mình cũng nghĩ có thể là do 1 số kí tự lạ nào đó nên mới bị vậy, nhưng thật sự kí tự lạ đó là ji`??? dấu ' ' , mình thử insert 1 số đoạn text có dấu '' nhưng lưu vẫn bình thường. Vậy phải làm sao để bit đc.
luvitgl viết 13:37 ngày 10/10/2018
mình kiểm tra kĩ, nhận thấy đa số lỗi php khi không lưu được vào database đều liên quan đến dấu ' ' hoặc " " có trong đoạn text. Tuy nhiên vẫn có 1 số text có các dấu trên nó vẫn cho lưu vào database.
Câu lệnh php mình như sau:

$content = $tin['content'];
$query_insert="INSERT INTO `#__test`(`fulltext`)VALUES('".$content."')";
$dbbb=&JFactory::getDBO();
$dbbb->setQuery($query_insert);

trong đó $tin['content'] là đoạn text từ bài viết chi tiết của trang tin tức.
Adam viết 13:47 ngày 10/10/2018
Được gửi bởi luvitgl
mình kiểm tra kĩ, nhận thấy đa số lỗi php khi không lưu được vào database đều liên quan đến dấu ' ' hoặc " " có trong đoạn text. Tuy nhiên vẫn có 1 số text có các dấu trên nó vẫn cho lưu vào database.
Câu lệnh php mình như sau:

$content = $tin['content'];
$query_insert="INSERT INTO `#__test`(`fulltext`)VALUES('".$content."')";
$dbbb=&JFactory::getDBO();
$dbbb->setQuery($query_insert);

trong đó $tin['content'] là đoạn text từ bài viết chi tiết của trang tin tức.

Bác echo $query_insert ra xem,lỗi thì như các bác ở trên đoán đó.
hqd276 viết 13:42 ngày 10/10/2018
echo query là biết liền :-|
Bài liên quan
0