我有代码将值插入mysql数据库。但问题不会插入任何内容。
我想要的是用户从droplist 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";
?>
答案 0 :(得分:0)
您永远不会实际运行查询。定义$ sql后,执行它。
mysqli_query($con, $sql);
另外值得注意的是,希望这只是测试代码。您绝不能从请求中获取原始输入,而不会通过mysqli_escape_string
。
答案 1 :(得分: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);