如何解决此错误?
您的SQL语法有错误;查看与您的MariaDB服务器版本相对应的手册,以便在''用户'通过')VALUES('')附近使用正确的语法'')'在第1行
<?php
$con = mysql_connect('localhost','root','') or die ('can not connect to server'.$conn->connect_error);
if($con)
{
mysql_select_db('mydb',$con) or die ('can not seletc the database'.$conn->connect_error);
}
$error ='';
if(isset($_POST['login']))
{
$username = $_POST['username'];
$password = $_POST['password'];
mysql_query("INSERT INTO tblogin('username','password') VALUES('$username','$password')");
$id = mysql_insert_id();
if($id > 0)
{
$error .= "Register Successfully";
}
else
{
$error.="Fail To Register<br>".mysql_error();
}
}
?>
<html>
<head>
<meta charset="utf-8">
<title>Login</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
</head>
<body>
<div class="row">
<div class="col-md-5"></div>
<div class="col-md-6">
<form action="" method="post">
<h2>POS Register</h2>
<h5 style="color: red;"> <?php if(isset($error)){echo $error;} ?> </h5>
<table>
<tr>
<td>
<label>User Name</label>
<input type="text" name="username" class="form-control">
</td>
</tr>
<tr>
<td>
<label>Password</label>
<input type="password" name="password" class="form-control">
</td>
</tr>
<tr>
<td>
<input type="submit" name="login" class="btn btn-primary" value="Register">
<a href="login.php">Back To Login</a>
</td>
</tr>
</table>
</form>
</div>
<div class="col-md-3"></div>
</div>
</body>
</html>
答案 0 :(得分:1)
在我关注的问题上,建议使用mysqli
代替mysql
,因为它已被弃用,您可以在此处了解更多信息: - MySQL vs MySQLi when using PHP
对于您的问题,答案是:
$mysql_query = "INSERT INTO tblogin(username,password) values ('$username','$password')";
$result = mysql_query($mysql_query);
检测是否已成功插入:
if($result)
{
echo "Success";
}
else
{
echo "Error";
}
答案 1 :(得分:0)
改变这一点,
mysql_query("INSERT INTO tblogin('username','password') VALUES('$username','$password')");
到此
mysql_query($con, "INSERT INTO tblogin(username,password) VALUES('$username','$password')");
或
mysql_query($con, "INSERT INTO tblogin(username,password) VALUES('".$username."','".$password."')");
上面会运行查询,但如果你喜欢这样,
$results = mysql_query($con, "INSERT INTO tblogin(username,password) VALUES('$username','$password')");
您可以使用if ... else
这样查看是否成功执行了查询,
it($results){
echo "Query execution done";
}else{
echo "Query execution didn't happen";
}
<强> IMPORTAN 强>
最好放弃使用mysql
,因为它已被弃用,而在新的PHP版本中它已被删除,因此最好在mysqli_
或PDO
上取件。
mysqli_
是mysql_
的改进版本,它与mysql
非常相似,但对SQL注入安全威胁具有更高的安全性。
PDO
代表PHP文档对象是另一个接口,非常适合与PHP和数据库一起使用。就个人而言,我喜欢PDO
它的普遍性不像mysqli_
这对MySQL来说是男性化的,对我来说,在PDO
中预备语句要容易得多。
您可以进行自己的研究,并使开关不再使用mysql