0

我有一个需要更新 aSQL 数据库中信息的 php 表单。我在这里阅读了很多回复,但由于某种原因,我的代码无法正常工作。

我在表单中使用“POST”,这是我在 PHP 操作页面中使用的代码。

{   global $host;
    global $username;
    global $password;
    global $db_name;
$imei = $_REQUEST['imei'];

$insertSuccessful = false;
   $sql = "UPDATE tracking_sim SET      
        imei = '".$imei."',
                    loaded_by = '".$loaded_by."'
        Where card_no='$card_no'"; 

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

函数定义:

//update database
update_lbs($msisdn, $reqby1, $reqdate, $reqtime, $client, $clientcase, $saps, 
$cas, $reason, $reqby, $long, $lat, $msisdn, $dist, $response);

//update database
function update_lbs($imei, $serial, $status, $msisdn_no, $card_no, $client_name,
 $inst_date, $tech, $inst_cert, $isp, $account, $account_price, $deposit, $cont_start,  
$cont_end, $rica, $date_rica, $prod, $suspended, $loaded_by)

所有的括号都关闭了,中间的一些较小的代码被省略了。与 SQL 的连接已完成,也没有错误。即使我发布表格也不会显示任何错误

请在这里指导我正确的方向

4

2 回答 2

0

这是您可以做的快速测试 - 尝试 $_POST['imei'] 并且对任何其他帖子变量都一样......

或将此代码添加到代码的顶部。

foreach($_POST as $key=>$value){ 

  // Optional code
  $value = addslashes($value);
  $value = stripslashes($value);

  $$key = $value;

  // Optional code      
  $k[] = $value;
  $counter++;

} 

这只是一个测试,以确保您实际上是从表单中获取 POST 数据。

于 2013-09-12T12:47:38.123 回答
0

看来你错过了一个

extract($_POST);

在您的代码之上。

还可以在此处查看与注入相关的安全问题

于 2013-09-12T12:51:06.627 回答