php – 返回nodays的兴趣是null
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 返回nodays的兴趣是null,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3561字,纯文字阅读大概需要6分钟。
内容图文
![php – 返回nodays的兴趣是null](/upload/InfoBanner/zyjiaocheng/725/7124df61656543f782b26eab228259b5.jpg)
它首先在nodays和兴趣上返回null,但是我意识到它没有分配给计算的位置,所以我添加了AS.我正在尝试计算DATEDIFF,因此它将插入到nodays和interest列中.我已经尝试分配DATEDIFF($mdate,$pdate)AS nodays和(DATEDIFF($mdate,$pdate)* $amt / 365 * 0.1)AS兴趣,但它仍然给我语法错误.我到底错在了什么?
$sql="INSERT INTO contacts (
nodays, interest, pdate, mdate, amt, first, last,
pid, cno, madd, bene, swc, bacc, bank, badd, bno
)
VALUES (
DATEDIFF($mdate,$pdate) AS nodays,
(DATEDIFF($mdate,$pdate) * $amt / 365 * 0.1) AS interest,
'$pdate','$mdate','$amt','$first','$last',
'$pid','$cno','$madd','$bene','$swc','$bacc','$bank','$badd','$bno'
)";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "Client record has been added to the database!";
mysqli_close($con);
错误信息:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘AS nodays, (DATEDIFF(2014-12-31,2014-07-24) * 50000 / 365 * 0.1) as interest F’ at line 6
固定全编码(参考):
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// escape variables for security
$pdate = mysqli_real_escape_string($con, $_POST['pdate']);
$mdate = mysqli_real_escape_string($con, $_POST['mdate']);
$amt = mysqli_real_escape_string($con, $_POST['amt']);
$first = mysqli_real_escape_string($con, $_POST['first']);
$last = mysqli_real_escape_string($con, $_POST['last']);
$pid = mysqli_real_escape_string($con, $_POST['pid']);
$cno = mysqli_real_escape_string($con, $_POST['cno']);
$madd = mysqli_real_escape_string($con, $_POST['madd']);
$bene = mysqli_real_escape_string($con, $_POST['bene']);
$swc = mysqli_real_escape_string($con, $_POST['swc']);
$bacc = mysqli_real_escape_string($con, $_POST['bacc']);
$bank = mysqli_real_escape_string($con, $_POST['bank']);
$badd = mysqli_real_escape_string($con, $_POST['badd']);
$bno = mysqli_real_escape_string($con, $_POST['bno']);
$sql="INSERT INTO contacts (
nodays, interest, pdate, mdate, amt, first, last,
pid, cno, madd, bene, swc, bacc, bank, badd, bno
)
VALUES (
DATEDIFF('$mdate','$pdate'),
(DATEDIFF('$mdate','$pdate') * '$amt' / 365 * 0.1),
'$pdate','$mdate','$amt','$first','$last',
'$pid','$cno','$madd','$bene','$swc','$bacc','$bank','$badd','$bno'
)";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "Client record has been added to the database!";
mysqli_close($con);
?>
解决方法:
这可能是插入此更好的方法
$nodays= date_diff( $mdate, $pdate, true);
$intrst=$nodays * $amt / 365 * 0.1;
$sql="INSERT INTO contacts (
nodays, interest, pdate, mdate, amt, first, last,
pid, cno, madd, bene, swc, bacc, bank, badd, bno
)
VALUES (
$nodays,
$intrst,
'$pdate','$mdate','$amt','$first','$last',
'$pid','$cno','$madd','$bene','$swc','$bacc','$bank','$badd','$bno'
)";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "Client record has been added to the database!";
mysqli_close($con);
MYSQL函数DATEDIFF()不能进行PHP计算.
编辑
在PHP中插入防止SQL注入的安全方法
$nodays= date_diff( $mdate, $pdate, true);
$intrst=$nodays * $amt / 365 * 0.1;
$stmt = mysqli_prepare($link, "INSERT INTO contacts (
nodays, interest, pdate, mdate, amt, first, last, pid, cno, madd, bene, swc, bacc, bank, badd, bno)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
mysqli_stmt_bind_param($stmt, "iissssssssssssss", $nodays, $intrst, $pdate,$mdate,$amt,$first,$last,$pid,$cno,$madd,$bene,$swc,$bacc,$bank,$badd,$bno);
mysqli_stmt_execute($stmt);
echo "Client record has been added to the database!";
mysqli_stmt_close($stmt);
内容总结
以上是互联网集市为您收集整理的php – 返回nodays的兴趣是null全部内容,希望文章能够帮你解决php – 返回nodays的兴趣是null所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。