-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