我对mySql的php很新,所以如果这很明显,请提前抱歉。 当我尝试使用此代码添加新用户时,我总是收到我的错误消息,而不是成功的消息。 谁能看到我出错的地方?
编辑:"添加echo mysqli_error($ link)"给了我这个错误; " Field' name'没有默认值"
我的数据库中有4列,名称是最后一列,我可以通过这种方式添加用户,而无需指定名称'
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
Form
</title>
</head>
<body>
<form method="post">
email<br>
<input type="text" name="email" id="email" value=""><br>
password<br>
<input type="password" name="password" id="email" value=""><br>
<input type="submit" value="Sign Up">
</form>
</body>
</html>
HTML表单:
from tkinter import *
root = Tk()
photo = PhotoImage(file=r"C:\Temp\test\computer.gif")
Label(root, image=photo, height="10", width="20").pack()
root.mainloop()
答案 0 :(得分:1)
您正在尝试插入新用户,但您只提供email
和password
。表users
中的所有其他列将采用数据库上设置的默认值(由创建它的人),或者因为没有默认值而给出错误。所以你可以:
为运行查询的数据库中的name
列设置默认值:
ALTER TABLE `users` ALTER COLUMN `name` SET DEFAULT 'No Name';
像这样更改您的代码:
$query = "INSERT INTO `users` (`email`, `password`, `name`) VALUES (
'".mysqli_real_escape_string($link, $_POST['email'])."',
'".mysqli_real_escape_string($link, $_POST['password'])."',
'No Name' //Or even ask for their name and put it here
)";