我目前正在学习SQL并且已经创建了几个小时的代码但是我无法将数据添加到我的SQL服务器。下面我提供了输入字段的最小工作示例并提交给SQL服务器。任何帮助是极大的赞赏。 (我删除了密码)。我认为问题在于isset($ _ POST ['submit']或在此之前,因为服务器似乎没有承认其余部分。
谢谢!
<html>
<body>
<table class="dd" width="100%" id="data">
<td>Field</td>
<td>:</td>
<td width="17%"><input type='textarea' name='field'/></td>
</table>
<input name='submit' type='submit' value='submit'/>
<?php
// Setting up the Database Connection
$username = "root";
$password = "";
$dbname = "table_name";
$link = mysqli_connect('localhost', $username, $password);
@mysqli_select_db($dbname);
if(isset($_POST['submit']))
{
$field = isset ($_POST['field']);
$field_f = mysql_real_escape_string($field);
$que = "INSERT INTO table_test ('fieldsql') VALUES ('$field_f')";
mysqli_query($que);
if (mysqli_query($link,$que) === TRUE) {
echo "Record added successfully";
}}
mysqli_close($link);
?>
</body>
</html>
答案 0 :(得分:1)
您的html中缺少form
。如果没有form
标记,则您的textarea
和submit
按钮将无效。
试试这个:
<html>
<body>
<form method="post">
<table class="dd" width="100%" id="data">
<td>Field</td>
<td>:</td>
<td width="17%"><input type='textarea' name='field'/></td>
</table>
<input name='submit' type='submit' value='submit'/>
</form>
您的查询也是错误的。请使用以下查询:
"INSERT INTO table_test (fieldsql) VALUES ('$field_f')";
旁注:您的查询不安全。读这个 How can I prevent SQL injection in PHP?