нужна помощь с использованием переменных php в запросе postgresql. Я пытаюсь сделать несколько запросов к базе данных postgresql с использованием элементов массива php, но это не работает. Кто-нибудь может помочь?
// $nums array with strings like - "983458999893440"
for ($i=0; $i<count($nums); $i++){
$tm = pg_escape_string($nums[$i]);
$sql = "SELECT SUM(sp.summ) FROM tk.sp_tran sp WHERE sp.long_pan ='{$tm}'";
$panSum = dbCon::conn($sql);//return result of pg_fetch_all();
//Code above don't work
//Code below is ok
$tm = pg_escape_string("983458999893440");
$sql = "SELECT SUM(sp.summ) FROM tk.sp_tran sp WHERE sp.long_pan ='{$tm}'";
$panSum = dbCon::conn($sql);//return result of pg_fetch_all();
//Please help to understand what is wrong?
он не делает то, что вам нужно, или у вас есть сообщение об ошибке? Если у вас есть сообщение об ошибке, вставьте его тоже, спасибо!
В первом случае он возвращает null, а не ошибку.
Результат print_r - «Array ([0] => Array ([sum] =>)) 1» в случае с строковым элементом массива Результат print_r - «Array ([0] => Array ([sum] => 27000) ) 1 "в случае со строкой
Я использую одну и ту же строку в обоих случаях
напечатайте $ tm и, возможно, $ nums [$ i], затем проверьте, действительно ли это та же строка в этом элементе массива
Я использовал strcoll для $ tm и $ nums [$ i], он показал разницу (((, я получил $ nums [] из таблицы csv, есть идеи, что не так?






Я нахожу пробел перед первой буквой строки в файле csv. Так что код в порядке. Это просто моя невнимательность (((
Отформатируйте и вставьте полный код. Также сообщите нам, в чем заключается настоящая проблема / ошибка.