-1

我有一个 php 表单,它告诉我提交时我的 sql 语法有错误,但是由于相同的表单和 php 在另一个站点上工作,该站点通过同一提供程序托管,但是在不同的服务器上,我出现了空白:

下面是一些php(疑似问题区域):

    $sql = mysql_query("INSERT INTO members (name, email, password, streetadd, city, state, zip, phone, ext)
VALUES('$name', '$email', '$password', '$streetadd', '$city', '$state', '$zip', '$phone', '$ext')")
or die (mysql_error());
$id = mysql_insert_id();

mkdir("members/$id", 0755);

如果需要更多代码,请告诉我;如果有人能让我知道我哪里出错了,我将不胜感激,也许我的知识已经过时了,我需要重新学习 mysql 和 php,但我认为这应该可行。

4

2 回答 2

3

在'$ext'之后,您最后缺少一个paranteses:

  $sql = mysql_query("INSERT INTO members (name, email, password, streetadd, city, state, zip, phone, ext)
VALUES('$name', '$email', '$password', '$streetadd', '$city', '$state', '$zip', '$phone', '$ext')")
or die (mysql_error());
$id = mysql_insert_id();

mkdir("members/$id", 0755);

另一件事是您可以将其中一个字段设为 int 或其他数字,而这些引号可能是个问题。如果您需要更多帮助,请发布表 shema,查询看起来确实不错。

于 2012-10-30T14:30:56.043 回答
0

我不知道问题是不是来自这里,但是您的查询不完整,您忘记关闭括号:

尝试这个:

 $sql = mysql_query("INSERT INTO members (name, email, password, streetadd, city, state, zip, phone, ext)
VALUES('$name', '$email', '$password', '$streetadd', '$city', '$state', '$zip', '$phone', '$ext');")
or die (mysql_error());

但正如人们在评论中所说,你不应该使用这种旧方法。PDO 使用准备好的语句更好(它更安全)。或者至少使用mysqli。

于 2012-10-30T14:32:03.967 回答