我们如何将textarea保存到SQL?
这是html:
<form method="post" action="text-handler.php">
<textarea name="content" style="width:100%;cursor:text;"></textarea>
</form>
和php:
<?php
session_start();
$user_name = $_SESSION['user_name'];
require_once("config/db.php");
require_once("config/db_connection.php");
$newtext = $_POST['content'];
$sql = mysqli_query($db_connection, "INSERT INTO 'texts' ('text', 'user') VALUES ($newtext, $user_name)");
?>
答案 0 :(得分:2)
请记住,标识符引号是反引号而不是单引号:
在您的代码中:
INTO 'texts' ('text', 'user')
^ ^ ^ ^ ^ ^ // use backticks not single quotes
这个查询是不安全的,并且直接在语句中注入用户输入并且容易出现sql注入。
最好使用预备语句:
session_start();
$user_name = $_SESSION['user_name'];
require_once("config/db.php");
require_once("config/db_connection.php");
$newtext = $_POST['content'];
$sql = 'INSERT INTO `texts` (`text`, `user`) VALUES (?, ?)';
$insert = $db_connection->prepare($sql);
$insert->bind_param('ss', $newtext, $user_name);
$insert->execute();
if($insert->affected_rows > 0) {
echo 'insert complete';
}
答案 1 :(得分:0)
这是控制部分 public function insert_projects_to_db($ data) {
return $this->db->insert('projects', $data);
}
数据库中发送= ding数据到数据库的功能 $ pdata [&#39; description&#39;] = $ this-&gt; input-&gt; post(&#39; description&#39;);