我构建了一个系统 - 网站,我尝试在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。
答案 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'
。