首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改时更新数据库

问更改时更新数据库
EN

Stack Overflow用户
提问于 2013-05-23 19:37:37
回答 3查看 2.4K关注 0票数 0

我正在尝试制作一个页面,您可以在其中选择一个下拉选择框中的值。做出选择后,它应该使用所选值更新数据库。我使用了两个页面,一个包含html/javascript,另一个使用php。目前,当我选择某些东西时,什么都不会发生。

我做错了什么?

test.php

代码语言:javascript
复制
<html>
<head>
    <script type="text/javascript" src="js/jquery.js"></script> 
    <script>
    function updateDb() {
     $.post("buh.php", $("#form").serialize());
    }
    </script>
</head>
<body>
    <form id="form">
    <?php
        include 'Includes/database_connection.php';
        $sql = "select * FROM sims ORDER BY phonenr asc"    ;
        $result = mysql_query($sql,$con);       
        echo "<select id='select' name='select' onChange='updateDb()'>";
        while ($row = mysql_fetch_array($result)) {
            echo "<option value='" . $row['phonenr'] . "'>" . $row['phonenr'] . "</option>";
        }
        echo "</select>";
    ?>
    </form>
</body>

​

和buh.php

代码语言:javascript
复制
<?php
include 'Includes/database_connection.php';
$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'"     ;
$result = mysql_query($sql,$con);
while ($row = mysql_fetch_array($result)) {
    $id = $row['id'];
    mysql_query("UPDATE pairings SET sim_id='$id' WHERE unit_id='1'")
or die(mysql_error()); 
}

?>

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-23 19:42:19

您的SELECT查询有问题

代码语言:javascript
复制
$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'"     ;
                           ^this ORDER here makes no sense

删除单词ORDER,它是一个按列排序的子句,或者使用正确的语法为它分配一个按列排序的列

代码语言:javascript
复制
SELECT * FROM tablename WHERE yourcolumncondition ORDER BY yourcolumntoorderby

然后,我想提醒您,mysql_函数已弃用,因此我建议您切换到mysqli或PDO

票数 1
EN

Stack Overflow用户

发布于 2013-05-23 19:42:06

select * FROM sims ORDER ..You在buh.php中错误地在此处添加了订单

代码语言:javascript
复制
$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'"     ;
票数 1
EN

Stack Overflow用户

发布于 2013-05-23 19:45:04

$sql = "select * FROM sims ORDER WHERE phonenr='".mysql_escape_string($_POST["select"])."'" ;

删除订单。

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

https://stackoverflow.com/questions/16712929

复制
相关文章

相似问题

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