无法插入 mySQL table

can't insert in mySQL table

我正在尝试制作注册表。我可以成功连接到 mySQL 数据库,但我无法从 html 表单向名为 "hackers" 的 table 插入任何内容。这是我的表格和我的 php 脚本。

我也试过在$sql中手动插入数据,看看是不是表格的问题,但是$sql也没有插入数据。

非常感谢您的帮助!!!!!!!

<?php
include"config.php";

$insert = 'INSERT INTO hackers (name,email, school, grad-year)  VALUES('$_POST['name']','$_POST['email']','$_POST['school']','$_POST['gradYear']')';


$sql= 'INSERT INTO mydatabase_name.hackers (name,email, school, grad-year) VALUES ('text', 'text', 'text', 'text')';

mysql_query($insert);
mysql_query($sql);


?>

我的表格:

<form method = "post" action ="process.php" >
    <table id ="registration_form">
    <tr>
        <td>name</td>
        <td><input type= "text" name="name"/></td>
    </tr>
     <tr>
        <td>email</td>
        <td><input type= "text" name="email"/></td>
    </tr>
    <tr>
        <td>school</td>
        <td><input type= "text" name="school"/></td>
    </tr>
         <tr>
        <td>graduation year</td>
        <td><input type= "text" name="gradYear"/></td>
    </tr>

    <tr>
        <td><input type= "submit" name="submit" value ="Submit"/></td>
    </tr>
   </table>
</form>

你的问题是引号。下面的例子是正确的,适应你的。

$sql = "INSERT INTO mydatabase_name.hackers (name, email) 
                                     VALUES ('text', '$someVariable')";

需要和.拼接,外面用双引号,单值加值。例如:

"INSERT INTO hackers (name,email, school, grad-year)  VALUES('".$_POST['name']."','".$_POST['email']."','".$_POST['school']."','".$_POST['gradYear']."')"

尽管我想指出这不是一个好主意,因为您很容易受到 SQL 注射。您想在执行之前先转义或准备查询。

对于您手动输入的字符串,您有类似的问题。在这种情况下,一个简单的解决方法是在字符串外部使用双引号,在内部使用单引号,问题是 ES ('te 关闭了此处查询的字符串:$sql= 'INS.

"INSERT INTO mydatabase_name.hackers (name,email, school, grad-year) VALUES ('text', 'text', 'text', 'text')"
$name = $_POST['name'];
$school= $_POST['school'];
$email = $_POST['email'];
$grad_year = $_POST['gradYear'];  //watch out for mysql injection here

$insert = "INSERT INTO hackers (name,email, school, grad-year)  VALUES('$name','$email','$school','$grad_year')";

$sql= "INSERT INTO mydatabase_name.hackers (name,email, school, grad-year) VALUES ('text', 'text', 'text', 'text')";

这应该有效。留意正确的引语。