php - 坚持将我的表单保存到数据库

标签 php html mysql database

我已将我的 html 连接到 mysql 并且连接正确

<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

但是现在,我完全陷入困境,真的很困惑,所以让我尽我所能解释一下。 这是 div,我的表单数据被描绘到页面上,供用户阅读,我想将这些保存在页面上,以便在重新加载页面时每个人都可以阅读它们(不用担心它不会不要透露任何个人信息)所以这是 div。

<div class="wrapper">
<div class="submissions">
    <div class="logo-logo"><h2>Question.</h2>
<div class="checkboxes"><?= !empty($_GET['x']) ? $_GET['x'] : '' ?>
</div>

    </div>

<div class="top-submit"><?php echo '&#8220;' . (!empty($_GET['actual-question']) ? $_GET['actual-question'] : '') . '&#8221;';?>
</div>
<div class="poster"><?php echo "-" .  (!empty($_GET['poster']) ? $_GET['poster'] :'');?>
<div class = "like">
<a href = "javascript:countClicksLike();" class = "btn btn-large" style = "color:green;">Like</a>
<p id = "like" style = "color:green;">0</p>
</div>
<div class = "dislike">
<a href = "javascript:countClicks();" class = "btn btn-large" style = "float:right; color:red;">Dislike</a>
<p id = "dis" style = "color:red;">0</p>
</div>
</div>
</div>
</div>

这就是困惑,到目前为止,一切都工作得很好,我已连接到 mysql,我的表单数据对我来说很好,但我想将其保存到数据库中供每个人查看,这就是砖头的位置壁挂式支架。

是这样的吗?我觉得我完全错了,如果有什么事情弄乱了我的数据库,我很抱歉。

<?php
$sql = "INSERT INTO submissions (actual-question, poster, like, dislike) VALUES (".
     PrepSQL('actual-question') . ", " .
     PrepSQL('poster') . ", " .
     PrepSQL('like') . ", " .
     PrepSQL('dislike') . "

)";

function PrepSQL($value)
{
// Stripslashes
if(get_magic_quotes_gpc()) 
{
    $value = stripslashes($value);
}

// Quote
$value = "'" . mysql_real_escape_string($value) . "'";

return($value);
} 
?>

我只是想将 div 保存到数据库中,以便它在页面上显示供每个人查看,任何人都可以提供帮助,我非常感谢您提供的任何帮助。

谢谢!

-康纳

最佳答案

** 编辑 **

应编辑插入语句中的 PrepSQL 函数调用以传递从 $_GET 或 $_POST 收集的值 因此,在 $sql = "..."之前,您应该将这些“准备好的”值保存到变量中,然后在插入语句中使用它们,如下所示:

$actualQuestion = PrepSQL($_GET['actual-question']);
$poster = PrepSQL($_GET['poster']);
$like = PrepSQL($_GET['like']);
$dislike = PrepSQL($_GET['dislike']);

$sql = "INSERT INTO submissions (actual-question, poster, like, dislike) VALUES ({$actualQuestion},{$poster},{$like},{$dislike})";

正如您在上面所看到的,我们从 $_GET 中获取值,然后将它们传递给您的 PrepSQL 函数,然后将结果保存到变量中,最后将它们混合到您的 Insert 语句中。现在您已准备好插入语句,您可以调用 mysql_query 将记录实际插入到 mysql 中,如我的原始解决方案帖子中所述。

<小时/>

您编写了插入sql语句并将其保存到变量中,但您忘记调用mysql将记录插入数据库。所以在$sql语句之后,写下:

$result = mysql_query($sql);
if ($result)
    echo "Insert passed";
else
    echo "Insert failed";

尽管此代码将执行记录插入,但强烈建议使用改进的 PHP MySQL 扩展 MySQLi 进行所有 mysql 数据库操作。

此链接将为您提供学习 mysqli 的良好起点 http://www.w3schools.com/php/php_ref_mysqli.asp

关于php - 坚持将我的表单保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23646306/

相关文章:

java - 使用浏览器在 Chrome 中实时查看 EventSource 是否已被弃用?

mysql - 如果查询没有数据,获取默认值?

mysql - Liquibase mysql 存储换行符

php - 需要立即采取行动 – SSL 3.0 漏洞

php - 如何将 mysql NOW() 函数从数组传递到清理值

php - MySQL仅在两个表中不存在时插入

html - 选项文本的样式部分

css - 响应问题

php - 从选择框选择填写表格

php - 从一个表中选择记录,然后从另一个表中选择一定数量的记录