【问题标题】:string to integer function doesn't work字符串到整数函数不起作用
【发布时间】:2013-11-25 18:11:52
【问题描述】:

我正在开发一个站点,在这个站点中,我的客户可以更改他的 table_id,但是当我尝试更改它时。它在数据库中变为 0。 table_id 列在 mysql 中是整数。我想我的问题就在那里,但我无法解决。我使用 X-editable 来编辑 table_id;

http://vitalets.github.io/x-editable/

我的代码在下面..

echo 'Table name: <label id="rez1" >'.$row['table_id'].'</label>';

<script>
$.fn.editable.defaults.mode = 'inline';

$(document).ready(function(){
    $('#rez1').editable({
        name: 'table_id',
        type: 'text',
        pk: 1,
        url: 'main.php',
        title: 'Enter username'
    });
});
</script>

<?php
    $id= $_POST['pk'];
    $table_id= (int)$_POST['name'];
    mysql_query("UPDATE rezervasyon SET table_id='".$table_id."' WHERE rez_id='".$id."'");
?>

【问题讨论】:

  • 在您的 javascript 中,您只需将 name 设置为硬编码的字符串值 'table_id' 而不是实际数字...也许您打算执行类似 $('#rez1').html() 的操作?
  • 您的代码极易受到SQL injection 攻击。为了您的用户和您自己,请使用参数化查询。

标签: javascript php x-editable


【解决方案1】:

您的 php 脚本应如下所示:

<?php
     $id= $_POST['pk'];
     $table_id= $_POST['value'];
     mysql_query("UPDATE rezervasyon SET table_id='".$table_id."' WHERE rez_id='".$id."'");
?>

我不是你想要做的,但是当你发布一些东西时尝试使用:

 if($_POST) {
       //your code here

}

【讨论】:

    【解决方案2】:

    你的问题我不清楚,但我认为你正在寻找

    $table_id= (int)$_POST['table_id'];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 2012-01-14
      • 2014-04-07
      • 2018-05-19
      相关资源
      最近更新 更多