(PHP/MYSQL)插入到won';插入大值时不工作,没有超时或错误

(PHP/MYSQL)插入到won';插入大值时不工作,没有超时或错误,php,mysql,actionscript-3,flash,insert-into,Php,Mysql,Actionscript 3,Flash,Insert Into,我正在使用flash开发AS3程序;在程序中,您输入用户名和密码,然后选择一组卡片进行注册;单击register按钮时,flash会从卡片组中发送用户名、密码和一个长字符串,长度可以超过1MB(但目前只有1KB) 为此,我使用INSERT-INTO方法。这是我的代码: <?php /* connect to database */ include "connect.php"; /* create POST vars to receive data from flash */ $u

我正在使用flash开发AS3程序;在程序中,您输入用户名和密码,然后选择一组卡片进行注册;单击register按钮时,flash会从卡片组中发送用户名、密码和一个长字符串,长度可以超过1MB(但目前只有1KB)

为此,我使用
INSERT-INTO
方法。这是我的代码:

<?php 

/*
connect to database
*/

include "connect.php";

/*
create POST vars to receive data from flash
*/

$username = $_POST['username'];
$password = $_POST['password'];

$sdTrunkest = $_POST['sdTrunk'];


$sql = "INSERT INTO users (username, password, Trunk) VALUES ('$username', '$password', '$sdTrunkest')";
mysql_query($sql); 
exit("result_message=Success");
?>

我发现了问题。这与mysql_connect错误没有什么关系,但我还是改用mysqli来避免其他错误。
不管怎么说,问题在于字符串本身;不在于它的大小,而在于它的内容。其中一张卡片的名字上有一个撇号,这可能是把事情搞砸的原因。我删除了撇号,复制了文本并粘贴了多次以增加大小,它仍然工作得很好

我想这个问题之所以经常被问,是因为你添加的文本越多,你出错的可能性就越大


非常感谢所有评论^^

是的,这通常被称为消毒输入,这是我的第一个评论。清理有几种方法,但最容易理解的是使用mysql\u real\u escape\u string()

输入中是否有奇怪的字符?你应该给他们消毒。我还建议查看php/apachelogno错误,因为您没有使用mysql erros;ini设置(“显示错误”,1)看看它是否能产生任何结果。试试这个
mysql\u查询($sql)或者死(mysql\u error())@Justin,它给了我这个,虽然我认为这一点都不相关。。已弃用:mysql_connect():mysql扩展已弃用,将来将被删除:使用mysqli或PDO insteadNoble,但不是OP问题的答案,该问题已经解决。这更适合作为评论。你有足够的代表点可以这样做。更改数据以使其不破坏程序并不是一个真正的解决方案,尤其是在任何人都可以向你发送任何内容的web代码中。我肯定同意这一点。然而,根据我的经验,即使在撇号方面使用
real\u escape\u string()
也不总是有效的。这就是为什么我必须使用其他与此相关的功能;很奇怪。是的,理想情况下,这会切换到prepared statements()或类似的东西,但是mysql\u real\u escape\u string()似乎是一个很好的介绍,可以检查OP@Justin奇怪的是,
mysql\u real\u escape\u string
addslashes
似乎都不起作用,它们都给了我第一次使用撇号时遇到的问题。有什么想法吗?