[英]PHP MySQL insert dropping data
好的,這對我來說是新的。 基本上我有一張桌子的文章:
id: int auto increment
title: varchar(200)
description: varchar(1000)
ctext: longtext
chtml: longtext
現在,我使用mysql_query在該表中進行插入:
INSERT INTO articles
(title, description, ctext, chtml)
VALUES
('$title', '$description', '$text', '$html')
所有值均已通過mysql_escape_string()傳遞。
此處的文本和html大小約為50k(所以我不能在此處真正發布完整的查詢)。
現在,這是問題所在:查詢有效。 插入新行。 但是,ctext和chtml列為空 。 這是MySQL 5.0.51a和PHP 5.2.8。 據我所知,沒有任何類型的錯誤。
現在,我將查詢轉儲到/ tmp中的文件中,並使用以下命令運行它:
mysql -u username -p dbname < /tmp/query
一樣。
我將查詢復制到Navicat,並且...有效。
那么到底發生了什么?
一些隨機的想法:
mysql_escape_string
? 另外 :MySQL連接默認為latin1,您需要使用mysql_query("SET NAMES 'utf8'")
來傳輸unicode字符。
我不確定這是否重要,但不建議使用mysql_escape_string
並由mysql_real_escape_string
代替
您是否嘗試過使用較小的文字?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.