Php 没有将数据存储到MySQL数据库中,您能告诉我错误或更改吗
在此代码中,awmb是数据库名,Email、name、RegNo、Password、cellno、Branch是表用户的属性Php 没有将数据存储到MySQL数据库中,您能告诉我错误或更改吗,php,mysql,Php,Mysql,在此代码中,awmb是数据库名,Email、name、RegNo、Password、cellno、Branch是表用户的属性 <?php session_start(); include("connection.php"); if(isset($_POST['reg_submit'])&&($dbhandle)) { mysql_connect('localhost','root',''
<?php
session_start();
include("connection.php");
if(isset($_POST['reg_submit'])&&($dbhandle))
{
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('awmb',$dbhandle) or die(mysql_error());
$Email=$_GET['Email'];
$Name=$_GET['Name'];
$RegNo=$_GET['RegisterNo'];
$Password=$_GET['Password'];
$cellno=$_GET['PhoneNo'];
$Branch=$_GET['branch'];
if($Email!="" && $Name!="" && $RegNo!="" && $Password!="" && $cellno!="" && $Branch!="" )
{
$sql="INSERT INTO users (Email,Name,RegNo,Password,cellno,Branch) VALUES ($Email,$Name,$RegNo,$Password,$cellno,$Branch)";
if(!mysql_query($sql,$dbhandle))
{
die('Error: ' .mysql_error());
}
else
{
$_SESSION['Email']=$Email;
header("location:profile.php");
}
}
}
mysql_close($dbhandle);
?>
试试这个
$sql="INSERT INTO users (Email,Name,RegNo,Password,cellno,Branch) VALUES ('$Email','$Name','$RegNo','$Password','$cellno','$Branch')
反而
$sql="INSERT INTO users (Email,Name,RegNo,Password,cellno,Branch) VALUES ($Email,$Name,$RegNo,$Password,$cellno,$Branch)
也可以使用GET或POST任何表单POST类型。执行查询插入数据所需的全部操作是在insert查询中使用单引号将变量包装在VALUES子句内
INSERT INTO users (Email,Name,RegNo,Password,cellno,Branch) VALUES ('$Email', '$Name', '$RegNo', '$Password', '$cellno', '$Branch')
还要注意以下事项:
- 您应该使用MySQLi或PDO。永远不要使用MySQL,因为它已被弃用,很快就会从PHP中删除
- 为什么包含connection.php?您应该将mysql\u connect代码放在该文件中
$\u POST['reg\u submit']
和$\u GET['Email']
在查询字符串的值部分也将变量用单引号括起来哦,亲爱的,我希望这段代码不是实时的。您在这里有一个严重的SQL注入漏洞,并且您正在以纯文本形式存储密码。也许值得找一本好书或一本教程来看看如何正确地做到这一点。即使在问了问题之后,人们也不会回答这个问题。令人沮丧的。删除我的答案