0

我有将值插入 mysql 数据库的代码。但问题没有插入任何东西。

我想要的是如果用户从下拉列表 table1 中选择。值插入到 table1 和 table2 的儿子中。

我的html代码

 <html>
 <body>

 <form method="post" action="update.php">
 <input type="txt" name="name"/>
 <select name="tables">
 <option value="table1">table1</option>
 <option value="table2">table2</option>
 <option value="table3">table3</option>
 <option value="table4">table4</option>
 </select>

<input type="submit" value="Submit Pick" />

</body>
</html>

我的PHP代码

<?php


$table =$_POST['tables'];
$name =$_POST['name'];

$con=mysqli_connect("localhost","sqldata","sqldata","accounts");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="INSERT INTO $table (name)
VALUES
('$_POST[name]')";



echo ".$table.$name";

?>
4

2 回答 2

0

您的代码包含一些错误。一旦你从不调用mysqli_query将 SQL 发送到服务器。此外,您的 sql 字符串中存在错误。如果要插入数组的值,则必须使用方括号:{$_POST[name]}。更好的是使用mysqli_escape_string. 所以你的代码应该是这样的:

$name = mysqli_escape_string($con, $_POST['name']);

$sql="INSERT INTO $table (name)
VALUES
('$name')"

mysqli_query($con, $sql);
于 2013-08-17T22:22:43.480 回答
0

您从未真正运行过查询。定义 $sql 后,执行它。

mysqli_query($con, $sql);

另外值得注意的是,希望这只是测试代码。你永远不能从请求中获取原始输入而不通过类似mysqli_escape_string.

于 2013-08-17T22:20:47.780 回答