提问人:Dillon Burke 提问时间:4/19/2016 最后编辑:Uttam Kumar RoyDillon Burke 更新时间:4/19/2016 访问量:64
PHP MySQL无法使用“INSERT INTO”[重复]
PHP MySQL Cannot use "INSERT INTO" [duplicate]
问:
我创建了一个名为 Register.php 的网页,它应该将数据插入我的数据库。这样做的问题是注册页面可以正常工作,但是当我尝试登录时,信息没有添加到我的数据库中,是否有任何我做错了什么而找不到?
<?php
echo "<h1>Register</h1>";
$submit = $_POST['submit'];
//form data
$FullName = strip_tags($_POST['FullName']);
$UserName = strip_tags($_POST['UserName']);
$Password = strip_tags($_POST['Password']);
$RepeatPassword = strip_tags($_POST['RepeatPassword']);
if ($submit)
{
//open database
$connect = mysql_connect("localhost","root","");
mysql_select_db("cs266db_db1");
$namecheck = mysql_query("SELECT UserName FROM user_ID WHERE UserName='$UserName'");
$count = mysql_num_rows($namecheck);
if ($count!=0)
{
die("UserName already taken");
}
//check for existence
if($FullName&&$UserName&&$Password&&$RepeatPassword)
{
//check password and repeat password match
if($Password==$RepeatPassword)
{
//check length of username and fullname
if (strlen($UserName) > 25 || strlen($FullName)>25)
{
echo "Length of username or fullname is over 25 characters!";
}
else {
//check password
if(strlen($Password)>25 || strlen($Password) < 6) {
echo "Password must be between 6 and 25 characters";
} else {
//encrypt password
$Password = md5($Password);
$RepeatPassword = md5($RepeatPassword);
$queryreg = mysql_query("INSERT INTO user_id VALUES (FullName='".$FullName."',UserName='".$UserName."',Password='".$Password."'");
}
die("You have been registered <a href='index1.php'> Return to Login Page </a>");
}
}
else{
echo "Your passwords do not match";
}
} else {
echo "Please fill in all fields!";
}
}
?>
<html>
<form action="register.php" method="POST">
<table>
<tr>
<td>
Your full name:
</td>
<td>
<input type="text" name="FullName" value="<?php echo $FullName ?>">
</td>
</tr>
<tr>
<td>
Choose a username:
</td>
<td>
<input type="text" name="UserName" value="<?php echo $UserName ?>">
</td>
</tr>
<tr>
<td>
Choose a password:
</td>
<td>
<input type="password" name="Password">
</td>
</tr>
<tr>
<td>
Repeat your password:
</td>
<td>
<input type="password" name="RepeatPassword">
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Register">
</form>
</html>
我也收到一个错误(我在 netbeans 上运行):
注意:未定义索引:提交 C:\Xampp\htdocs\Resume_DB\register.php 第 4 行 注意:未定义 索引:第 7 行 C:\Xampp\htdocs\Resume_DB\register 中的 FullName.php 注意:未定义索引:UserName C:\Xampp\htdocs\Resume_DB\register.php 第 8 行 注意:未定义 index:第 9 行 C:\Xampp\htdocs\Resume_DB\register 中的密码.php 注意:未定义索引:RepeatPassword C:\Xampp\htdocs\Resume_DB\register.php第 10 行
这与我的插入问题有关吗?如果是这样,你能帮忙吗!拜托,谢谢!
答:
0赞
zion ben yacov
4/19/2016
#1
我不认为您运行插入的方式在 MySql 中甚至无效, 我刚刚在wamp上的MySql上尝试过,该行没有返回错误,但插入的所有值都是NULL 我说的是这条线
insert into tmp_table values (`field_1`='value_1', `field_2`='value_2', `field_3`='value_3' ...)
您的数据库中是否有空行或根本没有行?
评论
mysql_query
界面。这很糟糕,已在 PHP 7 中删除。像 PDO 这样的替代品并不难学,而像 PHP The Right Way 这样的指南有助于解释最佳实践。您的用户参数未正确转义,并且您在此处存在严重的 SQL 注入错误。