PHP 表单不更新 SQL 行

标签 php mysql sql

我正在尝试仅使用 member_id 更新 sql ROW,这是我当前的代码。

 if ($con = mysql_connect($host, $username, $password)) {
    if (mysql_select_db($db_name)) {
        $sql = "UPDATE members set
        ussd_office = '".$ussd_office."',
        ussd_email = '".$ussd_email."',
                    ussd_e1cell4 = '".$ussd_e1cell4."',

        WHERE member_id='$member_id'" ; // This is where my problem lies I presume

if (mysql_query($sql, $con)) {
            $insertSuccessful = true;
        } else {
            echo $sql;
            print_r($_POST);
            echo "\n" . mysql_error($con);
            echo "mysql err no : " . mysql_errno($con);

为了获取我的表单 POST 信息,我将其放置如下;

 $member_id = $_REQUEST['member_id'];
 $ussd_surname = $_REQUEST['ussd_surname'];
 $member_msisdn = $_REQUEST['member_msisdn'];
 $ussd_office = $_REQUEST['ussd_office'];

这是我遇到的错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near 'WHERE member_id=''' at line 38mysql err no : 1064

通过查看错误,我假设 member_id 没有被拉到我的字符串的 WHERE 部分,并且 PHP 不知道要更新哪一行。如何更正我的代码?

最佳答案

删除WHERE 前的逗号。

"UPDATE members set
        ussd_office = '".$ussd_office."',
        ussd_email = '".$ussd_email."',
                    ussd_e1cell4 = '".$ussd_e1cell4."'
        WHERE member_id='$member_id'" 

查询中的变量与 REQUEST 中的变量不匹配。

关于PHP 表单不更新 SQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20407100/

相关文章:

php - 如何使用 preg_match 在数组中搜索?

PHP、MySQL、数据库

PHP fgetcsv() 分隔符

php - 如何从多维sql数据库中获取数据?

mysql - 返回时间大于 22 :00 and smaller than 06:00 for group of different timestamps 的 MySql 查询

mysql:每个类别求和 3 条记录

MySQL 5.5 - 选择记录更改的行

mysql - 优化查询 - 从同一个子查询中选择 COUNT 和 SUM

MYSQL 查找以前从未记录过的字段值

mysql - 我怎样才能简化这个mysql语句?