代码进入数据库但命令:
"$result = mysqli_query($con, $sql);"
似乎没有做任何事情。
<?php
$con = mysqli_connect("localhost", "root", "", "diskotech") or die ("Couldn't connect to database!");
if (isset($_POST["login"])){
}
else if (isset($_POST["signup"])){
if (isset($_POST["username"]) && isset($_POST["password"]) && isset($_POST["email"])){
$uQ = $_POST["username"];
$pQ = $_POST["password"];
$eQ = $_POST["email"];
$sql = "INSERT INTO 'users'('UserID', 'Username', 'Password', 'E-mail', 'Firstbane', 'Lastname', 'Phone', 'Adsress', 'Credit Card') VALUES ('','$uQ','$pQ','$eQ', '', '', '', '','')";
$result = mysqli_query($con, $sql);
if ($result) {
echo "Yes";
}
else {
echo "No";
}
}
}
mysqli_close($con);
function redirect($url, $statusCode = 303){
header('Location: ' . $url, true, $statusCode);
die();
}
?>
答案 0 :(得分:1)
有两个问题:
您在表格表名称和列名称中使用单引号。如果你真的需要,这应该是backticks
:
$sql = "INSERT INTO `users` (`UserID`, `Username`, `Password` , `E-mail`, `Firstbane`, `Lastname`, `Phone`, `Adsress`, `Credit Card`) ..
第二个问题,这是什么?列中的Credit Card
,是您的列名还是拼写错误?如果是,那么根据@ gerald-schneider评论,这没有错,但不是一个好的做法。
旁注:
同时验证Adsress
和Firstbane
列名称。
答案 1 :(得分:0)
在表格和列名称中使用 $sql = "INSERT INTO `users`(`UserID`, `Username`, `Password`, `E-mail`, `Firstbane`, `Lastname`, `Phone`, `Adsress`, `Credit Card`) VALUES ('','$uQ','$pQ','$eQ', '', '', '', '','')";
(`)标记。
$http.post(l_url, {data: l_params}).then(successCallback, errorCallback);
$http.post(l_url, l_params).then(successCallback, errorCallback);
答案 2 :(得分:0)
1)如果列名中使用hyphen
( - ),请使用backtick
(`)。否则会出现错误。
1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近&#39; -mail =&#39; asd@g.com'&#39;在第1行
2)Credit Card
列名用空格分隔,这也不是好习惯。使用backtick
来避免此错误
1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近&#39;卡=#&39; 909090909909&#39;&#39;在第1行
3)使用single quotes
(`)从表名和列名中删除backtick
(&#39;)。否则,错误
1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近&#39;用户ID&#39; =&#39; 12&#39;&#39;在第1行
修改后的查询
$sql = "INSERT INTO `users` (`UserID`, `Username`, `Password` , `E-mail`, `Firstbane`, `Lastname`, `Phone`, `Adsress`, `Credit Card`) ..
答案 3 :(得分:-2)
通过以下方式补充插入查询:
$sql = "INSERT INTO `users`(`UserID`, `Username`, `Password`, `E-mail`, `Firstbane`, `Lastname`, `Phone`, `Adsress`, `Credit Card`) VALUES ('','$uQ','$pQ','$eQ', '', '', '', '','')";