无法插入 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')";
这应该有效。留意正确的引语。
我正在尝试制作注册表。我可以成功连接到 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')";
这应该有效。留意正确的引语。