Php 只是不确定我';我做错了,已经做了一段时间了

Php 只是不确定我';我做错了,已经做了一段时间了,php,mysql,Php,Mysql,我正在尝试学习如何编码,我正在尝试制作一个基本表单,插入到mysql服务器中,我在本地使用xampp,我只是不确定我做错了什么 <!doctype html> <html> <head> <link rel="stylesheet" href="style.css"> <meta charset="utf-8"> <title> My Practice Page </ti

我正在尝试学习如何编码,我正在尝试制作一个基本表单,插入到mysql服务器中,我在本地使用xampp,我只是不确定我做错了什么

    <!doctype html>
    <html>
    <head>
    <link rel="stylesheet" href="style.css">
    <meta charset="utf-8">
    <title> My Practice Page </title>
    </head>
    <body>
    <?
    $first_name = '';
    $last_name ='';
    $city ='';
    ?>

    $db = MYSQLI_CONNECT('localhost','root','','practiceforms');
    $sql = "INSERT INTO users (first name, last name, city) VALUES 
        ('$first_name', '$last_name', '$city')";
    mysqli_query($db, $sql);
    mysqli_close($db);
    echo '<p> User added. </p>';

    <form method="post" action="">
    First Name: <input type="text" name="First Name" value="<?php $first_name;?   >" <br>

    Last Name: <input type="text" name="Last Name" value ="<?php $last_name;?>"<br>

    City: <input type ="text" name="city" value=<?php $city; ?>" <br>

    <input type="submit" name="submit" value="submit">


    </body>
    </html>

我的练习页
$db=MYSQLI_CONNECT('localhost','root','','practiceforms');
$sql=“插入用户(名字、姓氏、城市)值
(“$first_name”、“$last_name”、“$city”);
mysqli_查询($db,$sql);
mysqli_close($db);
echo'用户已添加

",;
名字:您发布的代码有一些问题

首先,并非所有代码都在php标记中

<?
$first_name = '';
$last_name ='';
$city ='';
?> // THIS LINE SHOULD BE AT THE END OF THIS BLOCK

$db = MYSQLI_CONNECT('localhost','root','','practiceforms');
$sql = "INSERT INTO users (first name, last name, city) VALUES 
    ('$first_name', '$last_name', '$city')";
mysqli_query($db, $sql);
mysqli_close($db);
echo '<p> User added. </p>';

// RIGHT HERE
?>
第三,您需要设置您的值

$first_name = $_POST['first_name'];
注意最后一个。如果出于任何原因,第一个名称输入没有提交(例如,提交表单时,输入可能不在页面上),那么PHP会对您大喊大叫,说在您尝试使用它时,
$\u POST['first\u name']]
没有设置,所以您应该这样做

if (isset($_POST['first_name'])) {
    $first_name = $_POST['first_name'];
}
else {
    $first_name = '';
}

发生了什么,与你期望发生的有什么不同?你有什么问题?有错误吗?对我来说也有一段时间了,但我认为你不能把变量放在单引号中,例如,
“$city”
。我认为它们必须在双引号中。@Jared,它们在双引号中,所以这没关系。
如果(!empty($\u POST['first\u name']){$first\u name=$\u POST['first\u name']}
-)我本来对他很宽容:),但我会加上这一点。我本来想投票的,但今天的票已经用完了。很好的答案。另外,值设置缺少PHP ECHO(即实际上没有设置值)。对于第一个名字输入字段,PHP结束标签的中间有一些无效的间距…<代码>(名字,姓氏,城市)< /代码>空格中的列名。OP的代码有这么多错误,足以让任何人头晕目眩。这些应该用记号
`
包装,或者用下划线连接。更不用说一些严重的SQL注入了。
if (isset($_POST['first_name'])) {
    $first_name = $_POST['first_name'];
}
else {
    $first_name = '';
}