Javascript 通过PHP和JQuery在SQL中保存表单数据始终失败

Javascript 通过PHP和JQuery在SQL中保存表单数据始终失败,javascript,php,jquery,mysql,Javascript,Php,Jquery,Mysql,我一直想创建一个小应用程序来填充SQL数据库从一个经典的形式,包括选择,输入和textarea。我正在使用PHP,并添加了JQuery代码,以便在页面上同时显示它,从而避免重定向到用于SQL connexion&query的db.PHP页面 我的问题是,虽然它工作得很好,我有2个、3个、4个甚至10个字段,但它在某个时候停止了工作,我发现自己几个小时都无法确定在哪里 首先,代码如下: JQuery代码: PHP代码: 所以我基本上一直都得到DB:oops,没有通过。在我的成绩部 我记得我试图解决

我一直想创建一个小应用程序来填充SQL数据库从一个经典的形式,包括选择,输入和textarea。我正在使用PHP,并添加了JQuery代码,以便在页面上同时显示它,从而避免重定向到用于SQL connexion&query的db.PHP页面

我的问题是,虽然它工作得很好,我有2个、3个、4个甚至10个字段,但它在某个时候停止了工作,我发现自己几个小时都无法确定在哪里

首先,代码如下:

JQuery代码:

PHP代码:

所以我基本上一直都得到DB:oops,没有通过。在我的成绩部

我记得我试图解决的最后一个问题是textarea字段中的字符“正在阻止查询工作”。然后我意识到我的DB表和列是拉丁语的,我把它改成了utf8的unicode的。此后,我尝试在两种排序规则设置中直接创建一个包含空白列的新数据库,但没有取得更好的成功,所以可能不是这样

我已经验证了变量是否正确地传递到序列化数组中,并在运行查询之前通过回显将其记录到控制台和php变量中。现在没有主意了。。。有人想要一个吗?

而不是:

echo "DB: Ooops, didn't get through.";
为什么不输出错误信息:

echo mysqli_error($conn);

不过,最好只在开发过程中执行此操作。

是的,应该考虑到这一点-还不太擅长调试-。-'。它告诉我:SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以获取可在附近使用的正确语法。。。然后用正确填写的变量返回中间的查询。我想说的是,您发布的一个值正在破坏SQL字符串,这突出表明您的代码非常容易受到SQL注入攻击,任何发布到数据库中的内容都应该首先转义,在您的例子中,这将是-$userName=mysqli\u real\u escape\u字符串$conn,$userName;成功了!因为在很长一段时间之前,它不会出现在我本地开发的任何地方,所以我想稍后再研究安全问题,但我不得不避开我的变量。我希望修复很简单,但我只是不知道该去哪里找了。最后一个问题,对于SQL注入,这样的措施是否足够?干杯很高兴你让它工作了。转义所有值将使它们安全地插入数据库。然而,为了解决这一问题并确保您不会忘记这样做,您可能需要研究一下如何使用PDO和准备好的语句,这里可以找到一个示例教程:
echo "DB: Ooops, didn't get through.";
echo mysqli_error($conn);