Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以获取第1行中靠近“(…)的正确语法_Php_Mysql_Sql_Syntax Error - Fatal编程技术网

Php 您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以获取第1行中靠近“(…)的正确语法

Php 您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以获取第1行中靠近“(…)的正确语法,php,mysql,sql,syntax-error,Php,Mysql,Sql,Syntax Error,我已经看过很多关于这个问题的帖子,但是我仍然无法找出我的代码有什么问题。请注意,我本周开始学习PHP和SQL,所以如果我犯了一个愚蠢的错误,请原谅。另外,我确信值得注意的是,在标题中发布的错误消息出现之前,我的代码中定义了另一个错误。这一错误是: 已经存在 这说明无论出于何种原因,$_POST[file][name]变量都没有设置。感谢您的帮助。但是,如果您要告诉我,我的代码容易受到SQL注入的攻击,我知道这一点。上载脚本只能通过我的安全登录脚本访问。再次,欢迎所有帮助 变量$\u POST[c

我已经看过很多关于这个问题的帖子,但是我仍然无法找出我的代码有什么问题。请注意,我本周开始学习PHP和SQL,所以如果我犯了一个愚蠢的错误,请原谅。另外,我确信值得注意的是,在标题中发布的错误消息出现之前,我的代码中定义了另一个错误。这一错误是:

已经存在

这说明无论出于何种原因,$_POST[file][name]变量都没有设置。感谢您的帮助。但是,如果您要告诉我,我的代码容易受到SQL注入的攻击,我知道这一点。上载脚本只能通过我的安全登录脚本访问。再次,欢迎所有帮助

变量$\u POST[class]错误,应为$\u POST['class']

试试这个

$sql="INSERT INTO $_POST['class'] (Description, Filename, File)
       VALUES
      ('".$description."','".$filename."','".$newpath."')";

您的问题是表单没有设置enctype属性。应该是:

<form action="uploadfile.php" method="post" enctype="multipart/form-data" style="background-color:#009933;color:#FFFFFF;width:320px;text-align:left;">

enctype=multipart/form数据是填充$u文件所必需的。

如果您最近刚开始使用PHP,那么您应该完全避免使用mysql函数。它们将被删除,因此您应该调查错误中的一个…print$sql。它将帮助您进行调试。为了便于将来参考,请在将数据库登录凭据发布到Internet之前从代码中删除它。我必须在这里做一些巫术来移除它们。欢迎来到StackOverflow!为了帮助调试这个问题,我建议您在执行语句之前回显$sql的内容。这将有助于识别问题。虽然您了解SQL注入的风险是件好事,但最好是删除此类代码并使用它们。因为它们会自动处理您的输入,所以它们不仅可以保护您免受SQL注入的影响,还可以保护您免受格式错误的输入的影响。例如,如果$description包含一个引号,它将打断您的查询。准备好的语句解决了这个问题。现在,当我尝试goodmood:Parse error:syntax error,意外的T_-ENCAPSED_和_-WHITESPACE,在/srv/disk11/1169030/www/thelandofscience.co.nf/uploadfile.php的第41$\u-POST[class]行上应该是T_字符串、T_变量或T_-NUM_字符串时,我就遇到了这个错误将假定类的常量值,但它可能只是抛出一个错误,并接受它作为$\u POST['class']无论如何。这里更大的问题是,您只是在查询中抛出一个post变量,而没有进行清理。不过仅供参考,引用数组键以避免错误通常是一种很好的形式。这很有效!你修复了我的错误,但是现在我又被抛出了8个新错误。我会调查并设法解决这些问题。如果我需要更多的帮助,我会回来的。非常感谢。
<form action="uploadfile.php" method="post" enctype="multipart/form-data" style="background-color:#009933;color:#FFFFFF;width:320px;text-align:left;">