我有一个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,但我认为这应该有效。
答案 0 :(得分: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。查询似乎很好。
答案 1 :(得分: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。