繁体   English   中英

PHP MySQL从表单将信息插入数据库

[英]PHP MySQL Insert info into database from a form

我目前正在为我的学校开展一些项目,在该项目中,我必须创建一个个人资料页面,人们可以在输入页中输入他们的信息。 数据被发送到数据库,然后显示在一些漂亮的表中。

但是在途中我遇到了一些问题-这是我正在回显的错误:

插入infonamesurnamegenderbirthstreetpostalcitycountrycitizenshipphonemail )值( Michaelxxxmale20-04-93Skolegade4690CopenhagenDenmarkPolish22222222admin@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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM