-2
我想写一个职位的内容到我们的MySQL数据库。数据似乎没有插入,我没有收到任何错误。我使用的数据库登录也有远程访问。查询本身从变量中获取正确的数据。所以我不确定我做错了什么。数据没有插入数据库使用mysqli和php
当我通过工作台直接插入插入成功时,我将我的查询的值写入了error_log。
[17-Feb-2017 07:02:47 America/Los_Angeles] INSERT INTO
consolidated.ACI_BNF (ConsumerName, AccountNumber,
NotificationType, ConfNumber, PaymentDate, PaymentAmount,
PaymentFee, FundingType, PaymentMethod, ProductMethod,
ImportDate)
VALUES ('JOHN DOE', '0', 'CREATE', '00', '2017-02-17', '444.37', '4.95 ', 'CREDIT CARD', '', 'ONE_TIME_PAY', '2017-02-17T10:02:47')
PHP代码
$hostname_Database = "somedb";
$database_Database = "consolidated";
$username_Database = "username";
$password_Database = "password";
$mysqli = new mysqli($hostname_Database, $username_Database,$password_Database, $database_Database);
$sql = "INSERT INTO consolidated.ACI_BNF (ConsumerName, AccountNumber, NotificationType, ConfNumber, PaymentDate, PaymentAmount, PaymentFee,
FundingType, PaymentMethod, ProductMethod, ImportDate)
VALUES ('$AccountHolderName', '$accountNumber', '$notification',
'$ConfirmationNumber', '$PaymentDate', '$PaymentAmount', '$PaymentFee',
'$FundingType', '$PaymentMethod', '$ProductMethod', '$ImportDate')";
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$result = $mysqli->query($sql);
if (!$result) {
printf("%s\n", $mysqli->error);
exit();
}
echo "Query run. Inserted UserID " . $mysqli->insert_id . "<br />";
mysqli_close($mysqli);
打印查询到屏幕上,将它复制,并尝试手动插入。 – labue
我们没有办法验证你的VALUES(代码部分不在这里),所以你可以做的是1.在执行之前打印查询,检查错误2.在插入后执行'SHOW WARNINGS',从sql server获得更多信息。 https://dev.mysql.com/doc/refman/5.7/en/show-warnings.html – JustOnUnderMillions
尝试'mysqli_real_escape_string'的日期 – Kumar