无法通过php文件将数据插入MySQL
我知道这样的问题已经被否决或关闭,但是我已经看完了之前提出的所有问题,找不到任何解决方案。代码应该接受来自HTML表单的输入,并将其插入MySQL数据库并显示在另一个页面上,但不知何故,我最终得到了查询失败语句并重定向到登录页面无法通过php文件将数据插入MySQL,php,mysql,Php,Mysql,我知道这样的问题已经被否决或关闭,但是我已经看完了之前提出的所有问题,找不到任何解决方案。代码应该接受来自HTML表单的输入,并将其插入MySQL数据库并显示在另一个页面上,但不知何故,我最终得到了查询失败语句并重定向到登录页面 <?php if (isset($_POST['eTransport_ID'])){ $id = ($_POST['eTransport_ID']); } if (isset($_POST[
<?php
if (isset($_POST['eTransport_ID'])){
$id = ($_POST['eTransport_ID']);
}
if (isset($_POST['Phone_No'])){
$phone = ($_POST['Phone_No']);
}
if (isset($_POST['Amount'])){
$amount = ($_POST['Amount']);
}
$DATEE = date("Y-m-d");
$TIMEE = date("h:i:sa");
$query = "INSERT INTO recharge_history(Date, Time, Amount, Agent_No, eTransport_ID) VALUES ('$DATEE', '$TIMEE', '$amount', 'WEB', '$id')";
$added = mysqli_query($conn, $query);
if(!$added){
die("Database query failed.");
}
else{
echo "Data Entered Successfully";
}
mysqli_close($conn);
?>
这是错误的代码,具有严重的SQL注入漏洞,因此请单独研究(您的问题不是关于安全性)
我假设'Date'是一个日期列
我假设“时间”是一个时间列
看起来Agent_No可能是一个INT列,但您正在插入一个字符串。我用“1”代替了“1”,所以你必须分开看
如果我的假设是正确的,只需将查询行更改为以下内容(即:复制并粘贴):
这是错误的代码,具有严重的SQL注入漏洞,因此请单独研究(您的问题不是关于安全性)
我假设'Date'是一个日期列
我假设“时间”是一个时间列
看起来Agent_No可能是一个INT列,但您正在插入一个字符串。我用“1”代替了“1”,所以你必须分开看
如果我的假设是正确的,只需将查询行更改为以下内容(即:复制并粘贴):
$query=“插入充值\历史记录(日期、时间、金额、代理号、eTransport\ ID)值('$DATEE'、'$TIMEE'、'$Amount'、'WEB'、'$ID')
你能这样写查询吗
$query=“插入充值\历史记录(日期、时间、金额、代理号、eTransport\ ID)值($DATEE、$TIMEE、$Amount、$phone、$ID)” $query=“插入充值历史记录(日期、时间、金额、代理编号、eTransport\u ID)值(“$DATEE”、“$TIMEE”、“$Amount”、“WEB”、“$ID”)”
你能这样写查询吗
$query=“插入充值\历史记录(日期、时间、金额、代理号、eTransport\ ID)值($DATEE、$TIMEE、$Amount、$phone、$ID)” 回显您的$query
并尝试手动将其运行到您的dbstry{$query goes here}catch(异常$e){print_r($e);}您将了解语句中的问题所在这是错误的建议@jackbrone。mysql\u查询不会抛出异常尝试此示例将帮助您查找错误。如果(!mysqli_query($con,$query)){echo($Error description:“.mysqli_Error($con));}回显您的$query
,并尝试手动将其运行到您的数据库中{$query goes here}catch(Exception$e){print_r($e)},您将知道您的语句中的问题在哪里了这是错误的建议@jackbrone。mysql\u查询不会抛出异常尝试此示例将帮助您查找错误。如果(!mysqli_query($con,$query)){echo($Error description:.mysqli_Error($con))}以前的代理编号是以前的INT数据类型,但我将其更改为VARCHAR,这是因为假设充值代理通过机器为ID卡充值,因此它们将具有代理编号,并与web充值区分开来,我决定输入“WEB”来表示补足是通过网页完成的。然而,我确实尝试了你的建议,但不幸的是,它没有奏效:(以前的代理编号是以前的INT数据类型,但我将其更改为VARCHAR,因为假设充值代理通过机器为ID卡充值,因此他们将有一个代理编号,并且为了与web充值区分开来,我决定输入“web”以指示充值是通过网页完成的。不过,我确实尝试了您的建议。)t不幸的是,它没有起作用:(
$query = "INSERT INTO recharge_history (`Date`, `Time`, `Amount`, `Agent_No`, `eTransport_ID`) VALUES (NOW(), NOW(), $amount, 'WEB', $id)";