Я получаю фатальную ошибку каждый раз, когда запускается мой PHP-скрипт.Несмотря на это, все данные все еще загружаются в базу данных.Когда отображается $values[0]
, в состоянии ошибки нет значений NULL
, и все в порядке.Я в замешательстве.
Ошибка
[02-Oct-2018 19:59:54 America/Vancouver] PHP Warning: Invalid argument supplied for foreach() in /home1/antonfa1/public_html/trading-history/process.php on line 22
[02-Oct-2018 19:59:54 America/Vancouver] PHP Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'trade_date' cannot be null in /home1/antonfa1/public_html/trading-history/process.php:48
Stack trace:
#0 /home1/antonfa1/public_html/trading-history/process.php(48): PDOStatement->execute(Array)
#1 {main}
thrown in /home1/antonfa1/public_html/trading-history/process.php on line 48
Странно то, что вчера я не получал это предупреждение и ошибку, поэтому я закомментировал все модификации, которыеЯ сделал с тех пор, но проблема не устранена.
Сценарий
include 'includes/connect.php';
$stri = 'INSERT INTO trades (trade_date, trade_time, trade_datetime, trade_transaction, trade_symbol, trade_status, trade_quantity, trade_filled, trade_price, trade_value) VALUES (:date, :time, :datetime, :transaction, :symbol, :status, :quantity, :filled, :price, :value)';
$file = fopen($_SESSION['file'], 'r');
while (!feof($file)) {
$values = [];
foreach (fgetcsv($file) as $key => $value) {
array_push($values, $value);
}
echo $values[0] . '<br>';
$stat = $conn->prepare($stri);
$stat->execute([
'date' => $values[0],
'time' => $values[1],
'datetime' => $values[2],
'transaction' => $values[3],
'symbol' => $values[4],
'status' => $values[5],
'quantity' => $values[6],
'filled' => $values[7],
'price' => $values[8],
'value' => $values[9],
]);
}
Действительно ли fgetcsv($file) as $key => $value
неверный аргумент?Это то, что потенциально вызывает эту «ложную» ошибку?Вчера я не получал это предупреждение: /
Эхо
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
2018-10-02
Все точки данных есть, и ни одна из них NULL
...