我无法通过SQL查询来访问数据库。我正在用if ($sql) {echo "success";} else {echo "error";}
检查这一点,并且我一直得到"错误"。我查询之前的代码似乎都有效。如果查询语法是正确的,那么我可能忽视的潜在绊倒可能是什么?以下是有问题的代码:
$sql = mysql_query(
"INSERT INTO monthly_balances (
bal_id,
account_id,
bal_date,
bal_month_sales,
bal_month_returns,
bal_month_net,
bal_month_coop,
bal_YTD_sales,
bal_YTD_returns,
bal_YTD_net,
bal_lastYTD_sales,
bal_lastYTD_returns,
bal_lastYTD_net
)
VALUES (
DEFAULT,
'$account_id',
'$bal_date',
'$bal_month_sales',
'$bal_month_returns',
'$bal_month_net',
'$bal_month_coop',
'$bal_YTD_sales',
'$bal_YTD_returns',
'$bal_YTD_net',
'$bal_lastYTD_sales',
'$bal_lastYTD_returns',
'$bal_lastYTD_net'
)
");
if($sql) {
echo 'success';
}
else {
echo 'error';
}
谢谢
答案 0 :(得分:2)
来自 docs :
MySQL拒绝任何尝试创建的INSERT或UPDATE操作 如果没有匹配的候选项,则子表中的外键值 父表中的键值。
基本上,您在account_id
中输入的monthly_balances
的值不在表account_id
的{{1}}中。
当一列声明为引用另一个表中某些列的外键时,外键列不能包含父列之前的值。
Please, don't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。