在php中传递文本并获取.0。在sql中

时间:2015-08-26 08:18:40

标签: php mysql

我构建了一个系统 - 网站,我尝试在php中传递文本并在sql中获取它。 文本需要是类别的名称,例如" Food"。

现在这是我的代码:

if(isset($_GET['data'])){
$data = $_GET['data'];
$data = preg_replace('/\\\"(.*?)\\\"/', '"$1"', $data);
$data = json_decode($data);
    $category = 'text1';
    $amount = $data[2];
    $repeated = $data[3];
    $note = $data[4];

    echo $category;
    echo $amount;
    echo $repeated;
    echo $note;

$query = mysql_query("INSERT INTO `Expenses` (Accountid, Category, Amount, Repeated) VALUES ('.$accountid.' '.$category.', '.$amount.', '.$repeated.', '.$note.')");}

我不确定,但我认为问题出在sql列类型中,我试图传递硬编码字符串' text1'它在sql .0中显示我。我不知道为什么...... 我试着将列放在sql中作为类型" TEXT"甚至" VARCHAR",集合:UTF8_GENERAL_CI甚至ASCII_GENERAL_CI但它没有帮助,文本看起来像.0。

当我在php页面看到什么是打印时,它的外观很好,我的意思是我看到了食物这个词......

我使用PHP MY ADMIN。

2 个答案:

答案 0 :(得分:0)

为什么在查询中使用.?试试这个:

$query = mysql_query("INSERT INTO {费用{1}}

(Accountid, Category, Amount, Repeated) VALUES ('$accountid', '$category', '$amount', '$repeated', '$note')");用于您在案件中不需要的连接。

答案 1 :(得分:0)

可能有多个错误,但您在此行中缺少逗号

$query = mysql_query("INSERT INTO `Expenses` (Accountid, Category, Amount, Repeated) VALUES ('.$accountid.' '.$category.', '.$amount.', '.$repeated.', '.$note.')");}

参见'.$accountid. ' '.$category.' 应为'.$accountid. ', '.$category.'

另请注意,您只需执行'$accountid', '$category'