[英]Insert data into MySQL database from PHP form with (SELECT) and (INSERT INTO)
[英]PHP MySQL Insert info into database from a form
我目前正在为我的学校开展一些项目,在该项目中,我必须创建一个个人资料页面,人们可以在输入页中输入他们的信息。 数据被发送到数据库,然后显示在一些漂亮的表中。
但是在途中我遇到了一些问题-这是我正在回显的错误:
插入
info
(name
,surname
,gender
,birth
,street
,postal
,city
,country
,citizenship
,phone
,Michael
,xxx
,male
,20-04-93
,Skolegade
,4690
,Copenhagen
,Denmark
,Polish
,22222222
,admin@admin.com
电子邮件=xxx@gmail.com
) 错误 :您的SQL语法有错误; 在第1行的“ WHERE email =xxx@gmail.com
)”附近,检查与您的MySQL服务器版本相对应的手册以使用正确的语法。
这是我的文件index.html,格式为
<body>
<h1>Update record <?php echo $user->email; ?></h1>
<form action="insertdata.php" method="post">
<label>Your name: </label><input type="text" name="name" /><br />
<label>Your surname: </label><input type="text" name="surname" /><br />
<label>Gender: </label><input type="text" name="gender" /><br />
<label>Date of birth: </label><input type="text" name="birth" /><br />
<label>Street name: </label><input type="text" name="street" /><br />
<label>Postal: </label><input type="text" name="postal" /><br />
<label>City: </label><input type="text" name="city" /><br />
<label>Country: </label><input type="text" name="country" /><br />
<label>Citizenship: </label><input type="text" name="citizenship" /><br />
<label>Phone number: </label><input type="text" name="phone" /><br />
<label>E-mail address: </label><input type="text" name="mail" /><br />
<input type="submit" value="submit" />
</form>
<?php
if($sql){//if the update worked
echo "<b>Update successful!</b>";
}
?>
这是文件insertdata.php的代码,在其中发现错误:
<?php
// To protect any php page on your site, include main.php
// and create a new User object. It's that simple!
require_once '../includes/main.php';
$user = new User();
if(!$user->loggedIn()){
redirect('index.php');
}
require_once('functions.php');
connect_db();
$name = mysqli_real_escape_string($con, $_POST['name']);
$surname = mysqli_real_escape_string($con, $_POST['surname']);
$gender = mysqli_real_escape_string($con, $_POST['gender']);
$birth = mysqli_real_escape_string($con, $_POST['birth']);
$street = mysqli_real_escape_string($con, $_POST['street']);
$postal = mysqli_real_escape_string($con, $_POST['postal']);
$city = mysqli_real_escape_string($con, $_POST['city']);
$country = mysqli_real_escape_string($con, $_POST['country']);
$citizen = mysqli_real_escape_string($con, $_POST['citizen']);
$phone = mysqli_real_escape_string($con, $_POST['phone']);
$mail = mysqli_real_escape_string($con, $_POST['mail']);
$email = $user->email;
$sql = "INSERT INTO `info` (`name`, `surname`, `gender`, `birth`, `street`, `postal`, `city`, `country`, `citizenship`, `phone`, `mail`) VALUES (`$name`, `$surname`, `$gender`, `$birth`, `$street`, `$postal`, `$city`, `$country`, `$citizen`, `$phone`, `$mail` WHERE email = `$email`)";
echo $sql;
//$result = mysql_query($con,$sql);
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 ercord added";
mysqli_close($con);
?>
?>
<a href="../tryprofile">Check</a>
我试图从行尾的代码中删除“” ,但是代码混乱了,并且显示了其他错误
WHERE email = `$email`); "
例如,它无法从下一行读取回声:
解析错误:语法错误,/ data / home / vizionwe / public_html / try / insertdata.php中第35行出现意外的“ echo”(T_ECHO)
我的截止日期是星期二,所以我必须尽快解决。 我期待着您的回答和想法。
修复您的sql行:
$sql = "INSERT INTO `info` ";
$sql.= "(`name`, `surname`, `gender`, `birth`, `street`, `postal`, `city`, `country`, `citizenship`, `phone`, `mail`) VALUES ";
$sql.= "('".$name."', '".$surname."', '".$gender."', '".$birth."', '".$street."', '".$postal."', '".$city."', '".$country."', '".$citizen."', '".$phone."', '".$mail."')";
在我看来,应该在尝试放入数据库的值周围使用'而不是`。
像这样:
$sql = "INSERT INTO `info` (`name`, `surname`, `gender`, `birth`, `street`, `postal`, `city`, `country`, `citizenship`, `phone`, `mail`) VALUES ('$name', '$surname', '$gender', '$birth', '$street', '$postal', '$city', '$country', '$citizen', '$phone', '$mail' WHERE email = '$email')";
"INSERT INTO info (name, surname, gender, birth, street, postal, city, country, citizenship, phone, mail) VALUES ('".$name."', '".$surname."', '".$gender."', '".$birth."', '".$street."', '".$postal."', '".$city."', '".$country."', '".$citizen."', '".$phone."', '".$mail."')"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.