首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MYSQL如何在MySQL中插入$_POST数据

PHP MYSQL如何在MySQL中插入$_POST数据
EN

Stack Overflow用户
提问于 2013-02-21 10:43:09
回答 1查看 238关注 0票数 0

我使用以下代码从MySQL数据库中提取所有语言变量和值,并填充表单以进行编辑:

代码语言:javascript
复制
function language() {

    $settings = array();
    $sql = "SELECT * FROM `languages`";
    $result = mysql_query($sql);
    // Mysql_num_row is counting table row
    while ($row = mysql_fetch_assoc($result)) {

        ?>

            <div style="float:left;width:250px;padding-left:15px"><label><?php echo $row['id'];?></label></div><div style="float:left;margin-left:0px;"><input type="text" name="<?php echo $row['id'];?>" value="<?php echo $row['value'];?>" /></div>

        <? php

    }
}

我有一个基本的功能,可以将上面表单中所做的更改保存回数据库更新中,并进行任何更改:

代码语言:javascript
复制
function save_language() {

    $post = $_POST;
    $out = array_shift($post);

    // Mysql_num_row is counting table row
    foreach($post as $key => $value) {
        $sql = "UPDATE `languages` SET `value`='$value' WHERE `id`='$key'";
        $result = mysql_query($sql);
    }

    if ($result) {
        echo "Language Settings Updated";
    }

}

此方法有效,但速度非常慢。我是编程新手,我确信我忽略了一些简单的东西,可以加快保存过程。

EN

回答 1

Stack Overflow用户

发布于 2013-02-21 10:49:29

您的查询实际上不应该工作,因为连接超出了函数的作用域。传递连接的正确方法是通过函数:

代码语言:javascript
复制
function language( $conn ) {
    ...
}

由于注入漏洞和mysql_函数的弃用,您应该立即停止使用您的代码。相反,学习,并使用PDOMySQLi - this article将帮助您决定使用哪种方法。

根据您要更新的记录数和要建立的连接数,它可能会减慢您的脚本速度。

如果您希望准备记录,则需要使用INSERT语句。

另外,我不理解save_language函数中的commnet // Mysql_num_row is counting table row,因为您在任何地方都没有使用结果中的行数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14993697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档